如何在mongodb中对嵌入文档进行findandmodify?

时间:2013-03-27 13:46:43

标签: mongodb

我似乎无法让这个工作。在这种情况下,是否有更好的可能性或选项而不是findandmodify?

db.runCommand(
                {
                  findAndModify: "articles",
                  query: {"comments._id": ObjectId("515221650be1684cb9000002")},
                  new: true,
                  update: {"$push":{"comments.votes.up":"511cff226d6e0d1f20000001"}, "$inc":{"comments.votes.count":1, "comments.votes.up_count":1, "comments.votes.point":1}}
                }
             )

1 个答案:

答案 0 :(得分:2)

评论是子文档集吗?如果是,那就是你错过了$ sign。喜欢评论。$。votes.up。试试这个。它会起作用

       db.runCommand(
            {
              findAndModify: "articles",
              query: {"comments._id": ObjectId("515221650be1684cb9000002")},
              new: true,
              update: {"$push":{"comments.$.votes.up":"511cff226d6e0d1f20000001"}, "$inc":{"comments.$.votes.count":1, "comments.$.votes.up_count":1, "comments.$.votes.point":1}}
            }
         )