mongodb的$addToSet能不能指定插入的位置

现有如下数据:

javascript{
    "_id" : ObjectId("54f664d28c33dbfd5a4aca26"),
    "UserID" : 56,
    "UserAction" : [
        {
            "ActionNum" : 2,
            "ActionObjID" : "34343434",
            "ActionTime" : 98989898,
            "ActionStatus" : "show"
        },
        {
            "ActionNum" : 2,
            "ActionObjID" : 53535353,
            "ActionTime" : 123435456,
            "ActionStatus" : "show"
        }]
}

使用$addToSet插入一个新的对象:

javascript{
    "ActionNum" : 1,
    "ActionObjID" : 7362472,
    "ActionTime" : 3481235092,
    "ActionStatus" : "hide"
}

能不能把这个对象插入到上面的UserAction数组的第一个第一位而不是最后一位呢?
就像使用$push的时候可以使用$position一样指定插入的位置。

阅读 4.4k
2 个回答

可以考虑用 findAndUpdate 来 $push, 查询条件是数组中没有这个元素

不能,既然是 Set,那位置就不重要了,不然一定是哪里不对了……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题