Nevermind, нашел ответ на это на официальных форумах,
для дальнейшего использования я оставлю окончательный ответ, полученный оттуда.
ПРИМЕЧАНИЕ: Этот ответ предположительно работает в соответствии с разработчиками mongoDB, однако я не смог заставить его работать должным образом, использовать по своему усмотрению, и если что-то не так, хорошо, присоединяйтесь к веселому отчету об ошибках!
Чтобы иметь возможность добавлять документы в коллекцию без поля "_id", сначала нам нужно создать коллекцию Capped, эту коллекцию Capped (предположительно, согласно документации, для этих коллекций также необходимо установить максимальный размер). ) получает документы, добавленные без поля «_id» по умолчанию, однако в некоторых случаях они могут добавить поле «_id» в любом случае, в этом случае мы указываем «autoIndexId» как false, это (предположительно) перезаписывает все значения по умолчанию и устанавливает коллекция, чтобы не устанавливать поле "_id" в качестве индекса, что позволит нам позже удалить его.
Итак, подведем итог, шаг 1:
мы создали ограниченную коллекцию:
db.createCollection("cappedcoll", {capped:true, size:100000});
step2:
протестируйте коллекцию, чтобы проверить, действительно ли она генерирует поле "_id".
если не генерирует. почему, тебе повезло! Поздравляю!
если это генерирует. Шаг 3:
мы создаем ограниченную коллекцию с полем autoIndexId, равным false:
db.createCollection("cappedcoll", {capped:true, size:100000, autoIndexId:false});
step4:
мы добавляем элемент в коллекцию и затем удаляем поле "_id" через обновление:
db.cappedcoll.insert({"names": {"First": "Gonza", "Last": "Vieira"}});
db.cappedcoll.update({"names.First": "Gonza"},{$unset: {"_id":1}});
если вы дойдете до этой части, то она либо сработает, либо вы получите неприятное сообщение об ошибке "cannot modify "_id""
, которое не должно отображаться, поскольку мы установили "_id", чтобы он не был индексом коллекции ...
И это также означает, что вы точно на той же стадии, что и я.
Удачи, и я надеюсь, что они или исправят это в ближайшее время, или кто-то здесь дополняет этот пост и исправляет все, что я сказал неправильно.