recherche

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

mongodb - pymongo里,dict存储在list内,如何根据key-value值删除或更新该dict?

{
    "title": "hello world",
    "comments": [
                    {"id": 1, "text": "text 1"},
                    {"id": 2, "text": "text 2"},
                    {"id": 3, "text": "text 3"}, 
                    ...
                ],
    "author": "",
    "views": 1000,
}

假设我现在知道某个 comment 的 id=2,想删除 comments 中 id=2 的字典,也就是 {"id": 2, "text": "text 2"} 这条数据,应该怎样写呢?

如果是更新 id=2text 的内容,又该如何写呢?

阿神阿神2800 Il y a quelques jours770

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

  • PHP中文网

    PHP中文网2017-04-21 11:19:36

    Cela peut utiliser le localisateur de tableau de mongodb, détails :
    http://www.co-ding.com/?p=274

    répondre
    0
  • 怪我咯

    怪我咯2017-04-21 11:19:36

    Vous pouvez le supprimer de la ligne de commande mongodb comme ceci (pymongo a fondamentalement le même format, non testé) :

    db.posts.update({'_id': xxxx}, {'$pull': { 'comments': {'id': 2} }})

    Mise à jour, cela ne semble pas si simple à écrire, alors parcourons-le avec for. .
    //Ou le supprimer d'abord puis l'ajouter ? Cette commande peut ne pas répondre aux exigences. .

    répondre
    0
  • Annulerrépondre