使用mongodb c#驱动程序更新文档以及子文档数组

时间:2019-03-15 01:24:01

标签: c# mongodb upsert

我有一个客户文档,其中包含联系人作为子文档数组。

当我将客户文档发送到数据库时,它应该以以下方式运行:

如果该文档不存在,请创建该文档以及所有子文档。

如果该文档确实存在,则将缺少的联系人(多个)添加到子文档数组中。

经过研究后,我发现了一些与我想做的事情匹配的东西,但它似乎仅适用于单个附加子文档,而不适用于子文档数组。

我也很难用mongodb c#驱动程序重新创建它。

有人知道是否可以在一个查询中做到这一点?

这是我到目前为止发现的:

db.clients.update({$and:[{'clientName':'apple'},{'contacts.firstName': {$ne: 'nick'}},{'contacts.lastName': {$ne: 'white'}}]}, 
              {$set:{'clientName':'apple'}, $push: {contacts: {'firstName': 'nick', 'lastName':'white'}}},
              {upsert: true });

0 个答案:

没有答案