2010-11-27 23 views
1

請給我一些C# 中帶有「$或」邏輯的查詢示例。 我使用C#的驅動程序,通過 SAMUS(https://github.com/samus/mongodb-csharp)書面...

回答

2

如果你有一個類型的集合(在這個例子中,Person類型),你可以做一個或使用LINQ:

var mongo = new Mongo("Server=localhost:27017"); 
mongo.Connect(); 

List<Person> people = mongo["dbName"].GetCollection<Person>("people").Linq().Where(x => x.Age == 21 || x.Age == 35).ToList(); 

mongo.Disconnect(); 

在不會用「$或」操作的那一刻(它會使用JavaScript爲||,看到JavaScript的模式in this wiki page)。

如果你真的想用「$或」運算符,你可以建立一個查詢文件和傳遞的條件數組到「$或」運算符:

var mongo = new Mongo("Server=localhost:27017"); 
mongo.Connect(); 

var query = new Document 
{ 
    {"$or", new Document[] { new Document("Age", 21), new Document("Age", 35) } } 
}; 
Document people = mongo["dbName"].GetCollection("people").Find(query); 

mongo.Disconnect(); 
+0

嗨能否請你展示如何今天使用官方的C#驅動器來做到這一點? (不使用Linq) – adinas 2012-11-29 10:12:21