为此,请使用$exists运算符。首先让我们创建一个包含文档的集合-
>dbfindDocumentContainsSpecificFieldDemoinsertOne({"ProductPrices":{"Product1":10,"Pr oduct2":50}}); { "acknowledged" : true, "insertedId" : ObjectId("5cf2385bb64a577be5a2bc14") } >dbfindDocumentContainsSpecificFieldDemoinsertOne({"ProductPrices":{"Product3":150,"P roduct7":100,"Product5":250}}); { "acknowledged" : true, "insertedId" : ObjectId("5cf2387eb64a577be5a2bc15") }
以下是在find()
方法的帮助下显示集合中所有文档的查询-
> dbfindDocumentContainsSpecificFieldDemofind()pretty();
这将产生以下文件-
{ "_id" : ObjectId("5cf2385bb64a577be5a2bc14"), "ProductPrices" : { "Product1" : 10, "Product2" : 50 } } { "_id" : ObjectId("5cf2387eb64a577be5a2bc15"), "ProductPrices" : { "Product3" : 150, "Product7" : 100, "Product5" : 250 } }
以下是查找包含特定字段的文档的查询-
> dbfindDocumentContainsSpecificFieldDemofind({"ProductPricesProduct2":{$exists:true}});
这将产生以下文件-
{ "_id" : ObjectId("5cf2385bb64a577be5a2bc14"), "ProductPrices" : { "Product1" : 10, "Product2" : 50 } }