【发布时间】:2014-05-05 02:09:25
【问题描述】:
我的数据库模型看起来像这样
"clientId":"123456"
"devices" :
[{
"deviceId" : "123",
"deviceType" : "ios",
"notification" : true,
}
{
"deviceId" : "321",
"deviceType" : "android",
"notification" : true,
}
]
我传递给我的 DB 方法的 c# 模型有 ClientId、DeviceId、DeviceType、notification。请注意,它没有设备数组
我想要实现的行为
(工作中)如果ClientId还没有在数据库中,使用传递的值在db中创建一个新记录,(设备数组将有一个元素)
-
如果已经在数据库中找到ClientId,则按照以下规则更新记录:
2.1 如果设备数组不包含 DeviceId,则使用传递的值向数组中添加一个新元素
2.2 如果 devices 数组中已经包含 DeviceId,则更新元素的 deviceType 和通知。
我正在使用 c#。任何帮助表示赞赏
例子:给定上面的数据库状态,通过传递clientId: 123456, deviceId 321 deviceType "kindle", notification "false" db会变成
"clientId":"123456"
"devices" :
[{
"deviceId" : "123",
"deviceType" : "ios",
"notification" : true,
}
{
"deviceId" : "321",
"deviceType" : "kindle",
"notification" : false,
}
]
【问题讨论】:
-
好问题。提出一个 JIRA。我可以在您的问题中添加一些内容以澄清问题吗?
-
您是否删除了更新?我不太明白你在说什么,现在它消失了..
-
是的,因为我认为它实际上需要另一个问题。具体情况我问了here
标签: c# arrays mongodb mongodb-query