搜尋

首頁  >  問答  >  主體

mongodb一條文件的值存的是數組,在更新的時候如何給數組push新的資料?

db.col.insert({
    name: 'kad',
    tags: ['mongodb', 'database', 'NoSQL'],
})

我現在有了新的資料'mysql'需要加入到tags對應的陣列中,如何push進去呢?

db.col.update({'name':'kad'},{$set:{'tags':'mysql'}}) 这样不是相当于覆盖了原来的数据么

我想讓結果變成 tags:['mongodb','database','NoSQL','mysql']

某草草某草草2803 天前664

全部回覆(2)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-02 09:26:04

    請參考

    db.col.update({name : "kad"}, { $push : { tags : "mysql"}})

    另外請參考官方文件:

    https://docs.mongodb.com/manu...

    建議:多閱讀MongoDB文件;MongoDB的文件品質很高。

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-02 09:26:04

    使用addToSet

    db.col.update({"name":"kad"},{$addToSet:{"tags":"mysql"}});
    

    或使用push

    db.col.update({"name":"kad"},{$push:{"tags":"redis"}});
    

    兩者區別在addToSet只有在數組中不存在時候才添加,如果已經存在了不會再添加,push不管插入的值原來數組裡有沒有都插入,即可以插入重複的值。

    回覆
    0
  • 取消回覆