我需要知道Query.Eq("Name", Textbox1.Text)
返回的值,看看Textbox1.Text
中的名字是否确实存在于数据库中,如果不是,我必须向用户显示一个消息框。我已经尝试过将Query.EQ
与true
进行比较,但类型并不相同。
有人知道如何解决这个问题吗?
答案 0 :(得分:0)
如果您想验证没有结果,使用Query
的一种方法是:
var client = new MongoClient("mongodb://localhost");
var server = client.GetServer();
var database = server.GetDatabase("test"); // "test" is the name of the database
var collection = database.GetCollection("myCollection");
var results = collection.Find(Query.EQ("Name", Textbox1.Text));
if (results.Count() == 0)
{
Console.WriteLine("no matches");
// or MessageBox.Show(...)
}
返回的results
对象是MongoCursor
,它实现了IEnumerable
。
EQ
上的静态方法Query
仅用于构建QueryBuilder
实例,该实例可以传递给MongoCollection
上接受的任何一种方法实现IMongoQuery
作为参数的对象。
如果您不需要收集特定匹配项,也可以使用Count
:
var totalMatches = collection.Count(Query.EQ("Name", Textbox1.Text));