1. ホーム
  2. mongodb

[解決済み】mongoコンソールでObjectIdを使用してオブジェクトを検索する方法は?

2022-03-25 05:13:32

質問

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

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

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

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

どのように解決するのですか?

これはよくあることです。コレクション名が正しいこと(大文字と小文字が重要)と、ObjectId が正確であることを確認してください。

ドキュメントは ここで

> db.test.insert({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 }