mongodb中Query.eq的结果

时间:2014-02-09 16:41:53

标签: c# mongodb

我需要知道Query.Eq("Name", Textbox1.Text)返回的值,看看Textbox1.Text中的名字是否确实存在于数据库中,如果不是,我必须向用户显示一个消息框。我已经尝试过将Query.EQtrue进行比较,但类型并不相同。

有人知道如何解决这个问题吗?

1 个答案:

答案 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));