[英]How to select documents by field range of values in MongoDB C# driver?
您可以使用 lambda 表達式構建簡單的查詢,MongoDB.Driver 支持它
var collection = database.GetCollection<Item>("Item");
var list = await collection.Find(x => locationIds.Contains(x.LocationId)).ToListAsync();
我得到了這個解決方案,它適用於較舊的驅動程序:
var locations = new BsonValue[] { 1, 2, 3, 4 };
var collection = database.GetCollection<Item>("Item");
var data = collection
.Find(Builders<BsonDocument>.Filter.In("LocationId", locations))
.Project(x => Mapper.Map<BsonDocument, ItemViewModel>(x))
.ToListAsync().Result;
有趣的是,我不知道“new BsonValue[]{}”是做什么的。 猜猜是bson數組。
這是使用構建器/過濾器的另一種方法。
var ids = new List<Int32> { 1, 2, 3, 4, 5, 6 };
var filter = Builders<Item>.Filter.AnyIn("LocationId", ids);
var collection = database.GetCollection<Item>("Item");
var results = await collection.FindAsync(filter);
var locations = await results.ToListAsync();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.