1

我有一个字典列表如下:

data=[{
      "uni_id": '101',
      "name":"abc",
      "age": 10,
    },
    { 
     "uni_id": '102',
      "name":"def",
      "age": 12,

     }]

我只想在数据库中存在“uni_id”时才使用此字典更新我的数据库,如果它在我的数据库中不存在,那么我想插入那个特定的“uni_id”及其相应的“名称”和“年龄” “:

我的更新语句如下,但是我也想使用 insert 来满足上述条件。如何编写插入语句?或者有没有办法编写一些 if-else 语句来进行更新和插入?

db.students.update_one(
    {"uni_id":data[0]['uni_id']},
    {
    "$set":
   {
    "name":"abc_1",
   }})
4

1 回答 1

1

upsert设置为 true... 如果集合中不存在更新的文档,则会创建一个新文档

db.students.update_one(
  { "uni_id": data[0]['uni_id']},
  { "$set": { "name":"abc_1" }},
  True
)
于 2018-06-10T14:08:27.623 回答