我有一个字典列表如下:
data=[{
"uni_id": '101',
"name":"abc",
"age": 10,
},
{
"uni_id": '102',
"name":"def",
"age": 12,
}]
我想使用这个词典来更新我的数据库只有" uni_id"存在于数据库中,如果它不存在于我的数据库中,那么我想插入该特定的" uni_id"以及它的相应名称"和"年龄":
我的更新声明如下,但我也想使用insert来满足上述条件。如何编写insert语句?或者有没有办法写一些if-else语句来做更新和插入?
db.students.update_one(
{"uni_id":data[0]['uni_id']},
{
"$set":
{
"name":"abc_1",
}})
答案 0 :(得分:1)
将upsert设置为true ...如果集合中不存在更新的文档,则会创建新文档
db.students.update_one(
{ "uni_id": data[0]['uni_id']},
{ "$set": { "name":"abc_1" }},
True
)