我有这样的文档集合:

{'_id': ObjectId('5a66f98facb83b71b36aa44a'), 'UID': '', 'profile': {'firstName': '', 'lastName': '', 'email': ''},  'status': 'ACT'}

但是现在我想在这个集合中添加一个其他文档的列表(在python中我有一个dicts列表 - > datilist),以便:

如果索引字段与已存在的字段匹配,则

  • 更新现有字段值,并最终添加新的缺失键/值对
    如果与索引字段值不匹配,则
  • 添加到集合

我用这个语句创建了一个索引

db.utenti.createIndex( { "profile.email": 1 }, { unique: true } )

为了避免重复 .

我试过这样的事情:

utenti.update_many({},datilist.$[],upsert=True)

但显然有一些我不知道的东西......我认为这应该是Mongodb的一个班轮,我是新手 .