mongodb中,如何追加数据到字段?不是更新

sql:

db.data.update({"_id":'123'},{$set:{name:[{'host_id':'t1'}]}})

结果:

{
    "_id": "123",
    "name": [
        {
            "host": "t1"
        }
    ]
}

我这边的情况这样的:
id是类似主键
如果123存在的话,继续插入数据到name下。

{
    "_id": "123",
    "name": [
        {
            "host": "t1"
        },
        {
            "host": "t2"
        }
    ]
}

这个要怎么操作?

阅读 7.7k
1 个回答

方法一:
db.data.update({_id: "123"}, {$addToSet:{name:{ "host": "t0"}}});

方法二:
db.data.update({_id: "123"}, {$push:{name:{ "host": "t0"}}});

两者的区别是$push 和 $addToSet前者不会判断数据汇总是否拥有这个值,但后者不会重复添加

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