MongoDB Filter.In只找到第一条记录

时间:2016-11-21 17:50:33

标签: c# mongodb mongodb-query

我正在尝试使用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
            }

0 个答案:

没有答案