从数组中获取元素

时间:2015-03-20 17:29:52

标签: mongodb mongodb-query aggregation-framework

我有一个收藏品。我们从集合中选择一个元素:

{
    "messages" : {
        "_id" : ObjectId("5503044be4b0e3d1aed29d15"),
        "body" : "Hello YOU!",
        "subject" : "sth"
     }
}

现在是棘手的部分。如何从没有包装器的集合中获取元素。如下所示:

{    
  "_id" : ObjectId("5503044be4b0e3d1aed29d15"),
  "body" : "Hello YOU!",
  "subject" : "sth"
}

1 个答案:

答案 0 :(得分:3)

很简单,您可以使用$project添加或重置文档中的字段。

 
db.collection.aggregate([
    { 
        "$project": {
            "_id": "$messages._id",
            "body": "$messages.body", 
            "subject": "$messages.subject"
         } 
     }
])