1

我似乎无法让它工作。在这种情况下,是否有更好的可能性或选项而不是 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}}
                }
             )
4

1 回答 1

2

评论是子文档集合吗?如果是,那么您是否缺少 $ 符号。喜欢评论。$.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}}
            }
         )
于 2013-03-27T16:52:00.177 回答