我正在使用mongodb / pymongo / python并编写了以下代码片段:
db_table.collection_table.findAndModify(
{
query: { _id: '1' },
update: {
$setOnInsert: {'_id': '1',
'tablename': 'Buyer',
'collectionname':'Buyer_Report',
'viewlink':'All_Buyers',
'new_table': 'yes' }
},
new: true,
upsert: true,
})
以上代码生成语法错误:$ setOnInsert部分中的语法无效。可能导致错误的原因是什么?
答案 0 :(得分:0)
这应该是python
代码吗?
肯定看起来应该更像这样:
db_table.collection_table.findAndModify({
'query': { _id: '1' },
'update': {
'$setOnInsert': {
'_id': '1','tablename': 'Buyer', 'collectionname':'Buyer_Report', 'viewlink':'All_Buyers', 'new_table': 'yes'
}
},
'new': True,
'upsert': True,
})
从pymongo
手册中可以看出upsert
&的类型。 new
是Boolean
。因此,值应为True
而不是'true'
。