请在C#中给我一些查询示例 用“$或”逻辑。 我正在使用C#驱动程序, Samus撰写(https://github.com/samus/mongodb-csharp)......
答案 0 :(得分:2)
如果你有一个类型化的集合(在这个例子中为Person类型),你可以使用Linq进行OR:
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();