Mongodb 更新提供了$push
附加到数组的修饰符。我的问题是我希望这发生在一个字典上,例如
如果我的记录最初看起来像这样:
{"collaborations":{'id1':{'role':'dev','scope':'dev'}}}
我想在“collaborations”字段字典中添加另一个项目(下面的“id2”),看起来像这样:
{"collaborations":{'id1':{'role':'dev','scope':'dev'},'id2':{'role':'qa','scope':'qa'}}}
我正在尝试$push
:
my_record.update({match_criteria},{$push,{"collaborations":{'id2':{'role':'qa','scope':'qa'}}}})
还有$addToSet
:
my_record.update({match_criteria},{$,{"collaborations":{'id2':{'role':'qa','scope':'qa'}}}})
使用这两种方法,mongodb 会抛出错误“无法将$addToSet
($push
)修饰符应用于非数组”。
如何为 dict 类型做到这一点?有任何想法吗?