在MongoDB中查找包含特定字段的文档?

为此,请使用$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 } }