回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试用以下代码更新MongoDB中的现有文档:</p>
<pre><code>def insert_data(conn, documents):
for document in documents:
new_document = document.split(',')
result = conn.update_one({ '_id': new_document[0] },
{ '$set': { "type": new_document[1] } }, upsert=True)
print(result.raw_result)
return print('Done')
</code></pre>
<p>我的指纹返回:</p>
<pre><code>{'n': 1, 'nModified': 0, 'ok': 1.0, 'updatedExisting': True}
{'n': 1, 'nModified': 0, 'ok': 1.0, 'updatedExisting': True}
{'n': 1, 'nModified': 0, 'ok': 1.0, 'updatedExisting': True}
{'n': 1, 'nModified': 0, 'ok': 1.0, 'updatedExisting': True}
{'n': 1, 'nModified': 0, 'ok': 1.0, 'updatedExisting': True}
</code></pre>
<p>但是我在MongoDB上的数据仍然没有这个属性</p>
<p>附加信息:“TYPE”属性不存在,此更新应创建此属性并设置新值</p>
<p>我是做错了还是应该用其他函数来做</p>
<p>Python 3.7版</p>
<p>Pymango 3.9.0版</p>
<p>谢谢</p>
<p>文件:</p>
<pre><code>{
"_id" : 4,
"name" : "Cultura",
"broadcast" : "teste",
"frequency" : "102.5",
"modulation" : "FM",
"protocol" : 8,
"campaign" : 0,
"status" : 0,
"cmixCast" : null,
"city" : {
"id" : 2969,
"name" : "Maringá"
},
"state" : {
"id" : 16,
"name" : "Paraná",
"uf" : "PR"
},
"nodeId" : null,
"__v" : 0,
"utc" : -3,
"ffmpeg" : 1,
"newStation" : 0,
"deletedAt" : "2019-09-27 17:31:41",
"square" : 0,
"musicalAction" : 0,
"url" : "http://www.cultura.fm.br/",
"observations" : null,
"region" : {
"id" : 5,
"name" : "Sul"
},
"contacts" : [],
"recorder" : {
"queue" : 0.0,
"status" : 0.0
}
}
</code></pre>