2014-11-01 78 views
2

當我使用System.Linq的查詢對象在MongoCollection:MongoDB的查詢和System.Linq的

var result = collection.Find(query).Where(x => x.something == something); 

這是對數據庫或內存中的集合進行查詢?

例如「SetSkip」在MongoDb中創建查詢,但「跳過」在內存中完成。

如果「.Where」在內存中完成有沒有辦法做到這一點?因爲它是在Find呼叫建立MongoDB的查詢執行的結果進行

回答

1

.Where查詢在內存中通過IEnumerable.Where完成。

要合併.Where查詢到Find,您可以創建兩個查詢ANDS一起新的查詢:

query = Query.And(query, Query<YourType>.EQ(x => x.something, something)); 
var result = collection.Find(query);