Maison  >  Questions et réponses  >  le corps du texte

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']

某草草某草草2751 Il y a quelques jours624

répondre à tous(2)je répondrai

  • 曾经蜡笔没有小新

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

    Veuillez vous référer à

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

    Veuillez également vous référer à la documentation officielle :

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

    Recommandation : Lire davantage de documentation MongoDB ; la documentation de MongoDB est de haute qualité.

    répondre
    0
  • 滿天的星座

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

    Utilisez addToSet

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

    ou utilisez push

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

    La différence entre les deux est que addToSet ne l'ajoutera que lorsqu'elle n'existe pas dans le tableau, si elle existe déjà, il ne l'ajoutera pas à nouveau, Push insérera la valeur insérée, qu'elle soit ou non dans l'original. tableau, c'est-à-dire que des valeurs en double peuvent être insérées.

    répondre
    0
  • Annulerrépondre