Mongo コンソールで ObjectId でオブジェクトを検索するにはどうすればいいですか? 質問する

Mongo コンソールで ObjectId でオブジェクトを検索するにはどうすればいいですか? 質問する

この質問に対する回答は C# と Perl では見つかりましたが、ネイティブ インターフェイスでは見つかりませんでした。次の方法で解決できると思いました。

db.theColl.find( { _id: ObjectId("4ecbe7f9e8c1c9092c000027") } )

クエリは結果を返しませんでした。ObjectIddb.theColl.find()を取得して 4ecbe7f9e8c1c9092c000027 を見つけました。そのコレクションには数千のオブジェクトがあります。

mongodb.org の Web サイトで見つけられるページをすべて読みましたが、見つかりませんでした。これは単に奇妙なことなのでしょうか? 私にはごく普通のことのように思えます。

ベストアンサー1

まったく不思議なことではありません。人々はいつもこれを行っています。コレクション名が正しいこと (大文字と小文字が区別されます) と ObjectId が正確であることを確認してください。

ドキュメントはここ

> db.test.insertOne({x: 1})

> db.test.find()                                               // no criteria
{ "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 }      

> db.test.find({"_id" : ObjectId("4ecc05e55dd98a436ddcc47c")}) // explicit
{ "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 }

> db.test.find(ObjectId("4ecc05e55dd98a436ddcc47c"))           // shortcut
{ "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 }

おすすめ記事