2011-04-01 45 views
2

如何在使用C#MongoDB驅動程序時創建複合條件?C#中的MongoDB複合條件

這工作:

mongoCollection = mdb.GetCollection("person"); 
BsonElement be1=new BsonElement("surname","Jones"); 
qryPattern = new QueryDocument(new BsonElement[] {be1}); 
foreach (MongoDB.Bson.BsonDocument doc in mongoCollection.FindAs<MongoDB.Bson.BsonDocument>(qryPattern)) 
{ 
    rc.Append(doc.ToJson()); 
    rc.Append("<br />"); 
} 

但如何調整我的BsonElement支持複合條件,如

BsonElement be1=new BsonElement("surname","[Jones,Smith]"); 

甚至

BsonElement be1=new BsonElement("surname","Jones"); 
BsonElement be2=new BsonElement("surname","Smith"); 
qryPattern = new QueryDocument(new BsonElement[] {be1,be2}); 

非常感謝

回答

1

這很容易,你應該使用Query.In

var names = new List<string>(); 
names.Add("Jones"); 
names.Add("Smith"); 
var query = Query.In("surname", BsonArray.Create(names)); 
collection.FindAs<BsonDocument>(query); 
+0

太棒了!非常感謝。 – Journeyman 2011-04-01 17:32:33

+0

@JohnNorris:不客氣。 – 2011-04-01 17:39:30