mongodb一条文档的值存的是数组,在更新的时候如何给数组push新的数据?

 前前后后zzyyix 发布于 2022-10-25 09:49
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 个回答
  • 使用addToSet

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

    或者使用push

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

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

    2022-10-26 23:08 回答
  • 请参考

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

    另外请参考官方文档:

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

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

    2022-10-26 23:08 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有