32

すべてを照会する方法は{"module" : "B"}

次のクエリは機能しません。

db.XXX.find({ "_id" : { "module" : "B" } });

トンありがとう!

データは次のようになります。

{
  "_id" : {"module" : "A","date" : ISODate("2013-03-18T07:00:00Z")},
  "value" : {"count" : 1.0}
}

{
  "_id" : {"module" : "B","date" : ISODate("2013-03-18T08:00:00Z")},
  "value" : {"count" : 2.0}
}
4

3 に答える 3

57

試す:

db.XXX.find({ "_id.module" :  "B" });

違いは、元のクエリがそのサブドキュメント全体で照合しようとしていることです(つまり、_idは、値が「B」で他には何もない「モジュール」フィールドを含むサブドキュメントです)。

参照:MongoDBドット表記

于 2013-03-26T08:38:22.523 に答える
2

ドット表記を使用します。

db.XXX.find({ "_id.module" : "B" })
于 2013-03-26T08:38:01.763 に答える
2

サブドキュメントの完全一致の場合

    db.bios.find(
   {
     '_id.module': 'B'
   }
)

クエリは表記法を使用して:dotのフィールドにアクセスしますsubdocument

参照リンク

于 2013-03-26T08:44:25.570 に答える