mongodb一条文档的值存的是数组,在更新的时候如何给数组push新的数据?
某草草
某草草 2017-05-02 09:24:04
0
2
592
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']

某草草
某草草

全部回复(2)
曾经蜡笔没有小新

请参考

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

另外请参考官方文档:

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

建议:多阅读MongoDB文档;MongoDB的文档质量很高。

滿天的星座

使用addToSet

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

或者使用push

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

两者区别在addToSet只有在数组中不存在时候才添加,如果已经存在了不会再添加,push不管插入的值原来数组里有没有都插入,即可以插入重复的值。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!