我使用MongoDB的对我的C锋利的项目,而不是MySQL的,现在我想用象SELECT * FROM学生,在(名称为空或名称=“XXX”)和(SNO为空或SnO = 10),如何我可以在MongoDB中构建这个查询吗?如何使用mongo数据库查询?
感谢, @dinnu。
我使用MongoDB的对我的C锋利的项目,而不是MySQL的,现在我想用象SELECT * FROM学生,在(名称为空或名称=“XXX”)和(SNO为空或SnO = 10),如何我可以在MongoDB中构建这个查询吗?如何使用mongo数据库查询?
感谢, @dinnu。
这应该让你开始:
var mongoServer = MongoDB.Driver.MongoServer.Create("mongodb://localhost?safe=true");
var mongoDatabase = mongoServer.GetDatabase("test");
var mongoCollection = mongoDatabase.GetCollection<TModel>("Test");
var cursor = mongoCollection.Find(Query.And(
Query.Or(
Query.EQ("Name", "xxx"),
Query.EQ("Name", null)),
Query.Or(
Query.EQ("sno", 10)),
Query.EQ("sno", null)));
哪里TModel
是你想要从分贝反序列化类的类型。现在你可以使用鼠标来遍历该查询的结果,例如:
var someModel = cursor.FirstOrDefault();
上面的查询工作不适合我......它给出错误的输出@ mnemosym – user483886
以何种方式是输出错了吗? – mnemosyn
如果名称采用空,查询获得所有表收集 – user483886
看看流利蒙戈(https://github.com/craiggwilson/fluent-mongo)。它增加了Linq在官方10gen驱动程序之上。到目前为止,我发现使用它是一种很好的体验。它可以通过Nuget或GitHub获得。
有你建立MongoDB的JSON字符串的查询问题,或者你不知道如何使用C#客户做呢? – hellectronic
我我不知道如何用C#客户 – user483886
做我不想在这里肛门之一,但不是这只是谷歌被回答搜索了。 SO不应该用于“首次在谷歌上”这类问题。 –