我有一个客户文档,其中包含联系人作为子文档数组。
当我将客户文档发送到数据库时,它应该以以下方式运行:
如果该文档不存在,请创建该文档以及所有子文档。
如果该文档确实存在,则将缺少的联系人(多个)添加到子文档数组中。
经过研究后,我发现了一些与我想做的事情匹配的东西,但它似乎仅适用于单个附加子文档,而不适用于子文档数组。
我也很难用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 });