在mongodb文档中的列表中插入项目

Anu*_*rma 2 mongodb pymongo

我有这样的文件

{ "_id" : "decfed9a04b997d", "pushed_list" : [ ] }
Run Code Online (Sandbox Code Playgroud)

我想通过存储在python列表中的这些子项更新/插入"push_list"

lis1 = 
    [
       {
        item : 'item1',
        desc : 'desc_item1'
       },
       {
        item : 'item2',
        desc : 'desc_item2'
       },
       { ........................
       }

    ]
Run Code Online (Sandbox Code Playgroud)

我试过这个

db.monitor.update({'_id' : 'dbjkdd'}, { '$push':{'pushed_list': {'$each':{lis1}}}})
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误.

Traceback (most recent call last):
  File "monitor.py", line 13, in <module>
    db.monitor.update({'_id' : 'dbjfdd'}, { '$push':{'pushed_list': {'$each':{lis1}}}})
TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

Anu*_*rma 6

我找到了答案,非常愚蠢; 只需要删除额外的大括号{}

而不是这个

db.monitor.update({'_id' : 'dbjkdd'}, { '$push':{'pushed_list': {'$each':{lis1}}}})
Run Code Online (Sandbox Code Playgroud)

用这个

db.monitor.update({'_id' : 'dbjkdd'}, { '$push':{'pushed_list': {'$each':lis1}}})
Run Code Online (Sandbox Code Playgroud)

即删除'{''$each'及其对应的'}'