2

我有这样的文件

{ "_id" : "decfed9a04b997d", "pushed_list" : [ ] }

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

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

    ]

我试过这个

db.monitor.update({'_id' : 'dbjkdd'}, { '$push':{'pushed_list': {'$each':{lis1}}}})

它给了我一个错误。

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

1 回答 1

7

我找到了答案,对我来说很愚蠢;只需要移除额外的大括号{}

而不是这个

db.monitor.update({'_id' : 'dbjkdd'}, { '$push':{'pushed_list': {'$each':{lis1}}}})

用这个

db.monitor.update({'_id' : 'dbjkdd'}, { '$push':{'pushed_list': {'$each':lis1}}})

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

于 2013-07-17T10:58:38.203 回答