从mongo db结果中排除一个文档

时间:2017-02-07 11:27:39

标签: mongodb

如何从mongo db结果中排除一个文档?

例如:

{
   "_id":ObjectId("57bc115edb04d82550e823cb"),
   "menu":[ ],
   "properties":[
      {
         "name":"N1",
         "value":"17"
      },
      {
         "name":"N2",
         "value":"10"
      },
      {
         "name":"N3",
         "value":"14"
      }
   ]

}

如何获得名称为N1&的属性的结果N2但不是N3?

2 个答案:

答案 0 :(得分:0)

尝试使用$ne运算符。您应该能够使用此关键字制定查询。

答案 1 :(得分:0)

要获取没有名称的文档,N3属性使用$ne不等于)运算符

db.collectionName.find( { "properties.name": { $ne: "N3" } } )

已更新:

您需要使用聚合查询来获取所有具有属性的记录,只丢弃包含N3作为名称的属性元素。

db.collectionName.aggregate([
    {$unwind:"$properties"},
    {$match:{"properties.name":{$ne:"N3"}}},
    {$group:{
        _id:"$_id",
         properties:{$push:"$properties"},
         menu: {$first:"$menu"}
        }
    }
])