我有以下字段
mongodb中的e_id,c_id,m_id必须与 id通过参数传递。
数据->是多个event_id,coor_id,manage_id
{
"_id" : "1",
"event_id" : "abscdsadsad890",
"coor_id" : "cdaddsadewqwae889",
"manage_id" : "fdfdfsdfdsfsdf908",
"active" : true
"date" : ISODate("2014-01-14T00:00:00Z"),
}
{
"_id" : "1",
"event_id" : "abscdsadsad890",
"coor_id" : "cdaddsadewqwae889",
"manage_id" : "fdfdfsdfdsfsdf908",
"active" : true
"date" : ISODate("2014-01-14T00:00:00Z"),
}
{
"_id" : "1",
"event_id" : "abscdsadsad890",
"coor_id" : "cdaddsadewqwae889",
"manage_id" : "fdfdfsdfdsfsdf908",
"active" : true
"date" : ISODate("2014-01-14T00:00:00Z"),
}
预期结果:
{
"_id" : "1",
"event_id" : "abscdsadsad890",
"coor_id" : "cdaddsadewqwae889",
"manage_id" : "fdfdfsdfdsfsdf908",
"active" : true
"date" : ISODate("2014-01-14T00:00:00Z"),
}
{
"_id" : "1",
"event_id" : "abscdsadsad890",
"coor_id" : "cdaddsadewqwae889",
"manage_id" : "fdfdfsdfdsfsdf908",
"active" : false
"date" : ISODate("2014-01-14T00:00:00Z"),
}
{
"_id" : "1",
"event_id" : "abscdsadsad890",
"coor_id" : "cdaddsadewqwae889",
"manage_id" : "fdfdfsdfdsfsdf908",
"active" : false
"date" : ISODate("2014-01-14T00:00:00Z"),
}
预期结果应该是最新的 记录为活动的错误和最新的 每个创建的新记录都必须处于活动状态 新记录应处于活动状态= true等 必须具有相同的event_id,coor_id和manage_id 活跃=假
我正在尝试使用匹配所有结果,然后进行分组和计数, 之后,如果count大于1,则获取找到的最新文档结果 并更新其余匹配结果,但在mongodb中 我也想写。有什么建议吗?
答案 0 :(得分:0)
我设法通过c#
首先是我将event_id,coor_id和manage_id传递给 创建。然后,我使用的C#mongodb驱动程序是
var list = await collection.AsQueryable().Where(x => c.id == c.id && m.id == m.id).toList();
然后循环并通过_id检查第一个不能与其他相等
然后更新除第一个列表以外的其他人。
完成...谢谢