我正在尝试使用In
过滤器从mongodb中查找记录。该集合以unitId
存储为字符串,我想查找匹配unitIds
var ids = '1,2,3,4,5'.Split(',');
var filter = Builders<BsonDocument>.Filter.In("unitId",ids);
await _engrafaim
.Find(filter)
.ForEachAsync((doc) =>
{
// this gets executed only once for the first id
// do some work here
}).ConfigureAwait(false);
上面的代码只找到第一个匹配的ID。
UPDATE1
这也不起作用。结果始终包含一个文档。
var ids = '1,2,3,4,5'.Split(',');
var filter = Builders<BsonDocument>.Filter.In("unitId",ids);
var result = await _engrafaim
.Find(filter)
.ToListAsync()
.ConfigureAwait(false);
foreach (var doc in result)
{
// do some work
}