Как в mongodb переименовать "_id" в "id"?

Пользователь

от roma , в категории: SQL , 7 месяцев назад

Как в mongodb переименовать "_id" в "id"?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от stephania , 7 месяцев назад

@roma 

В MongoDB _id является системным полем и по умолчанию используется как первичный ключ для коллекции. Однако, если вы хотите переименовать поле _id в id, можно использовать следующий код на языке MongoDB Shell:

1
2
3
4
5
db.collection.find().forEach(function(doc) {
  doc.id = doc._id;
  delete doc._id;
  db.collection.save(doc);
});


Этот код перебирает все документы в коллекции и для каждого из них добавляет новое поле id, которое будет иметь значение _id, а затем удаляет поле _id. Затем он сохраняет измененный документ в коллекцию.


Обратите внимание, что если вы используете _id как первичный ключ в вашей коллекции, переименование поля может нарушить существующие связи между документами в этой коллекции.