Я учусь использовать MongoDB, я создал кластер в облаке по адресу cloud.mongodb.com и подключаюсь к нему с помощью MongoDb Compass vs 1.22.1. Я пытаюсь изучить некоторые основные команды и пытаюсь выбрать элементы из своей коллекции, используя команду find() для фильтрации по идентификатору.
Я пробовал то, на что я видел ссылки повсюду, например:
db.recipes.find({_id: ObjectID("5e877cba20a4f574c0aa56da")});
or
db.recipes.find({'_id': ObjectID("5e877cba20a4f574c0aa56da")});
И я всегда получаю вывод:
ReferenceError: ObjectID is not defined
at evalmachine.<anonymous>:5:10
at evalmachine.<anonymous>:7:3
at Script.runInContext (vm.js:134:20)
at Object.runInContext (vm.js:297:6)
at ElectronInterpreterEnvironment.sloppyEval (C:\Users\lfili\AppData\Local\MongoDBCompass\app-1.22.1\resources\app.asar\node_modules\@mongodb-js\compass-shell\lib\index.js:140827:28)
at Interpreter.<anonymous> (C:\Users\lfili\AppData\Local\MongoDBCompass\app-1.22.1\resources\app.asar\node_modules\@mongodb-js\compass-shell\lib\index.js:210735:41)
at step (C:\Users\lfili\AppData\Local\MongoDBCompass\app-1.22.1\resources\app.asar\node_modules\@mongodb-js\compass-shell\lib\index.js:210685:19)
at Object.next (C:\Users\lfili\AppData\Local\MongoDBCompass\app-1.22.1\resources\app.asar\node_modules\@mongodb-js\compass-shell\lib\index.js:210615:14)
at C:\Users\lfili\AppData\Local\MongoDBCompass\app-1.22.1\resources\app.asar\node_modules\@mongodb-js\compass-shell\lib\index.js:210587:67
at new Promise (<anonymous>)
Если я не использую ObjectID, например:
db.recipes.find({'_id':"5e877cba20a4f574c0aa56da"});
Я не получаю ошибки, но нет вывода, потому что я предполагаю, что _id не 5e877cba20a4f574c0aa56da, а ObjectID (5e877cba20a4f574c0aa56da).
Я не знаю, почему я не могу использовать ObjectID в Compass MongoSH, любая помощь приветствуется. Спасибо
ObjectId
неObjectID
. - person prasad_   schedule 02.11.2020