我需要知道Query.Eq("Name", Textbox1.Text)
返回的值,以查看数据库中是否真的存在Textbox1.Text
的名称,如果不存在,我必须向用户显示一个消息框。我已经尝试将Query.EQ
与true
进行比较,但类型并不相同。
有人知道如何解决这个问题吗?
如果要验证没有结果,使用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
。
Query
上EQ
的静态方法仅用于构建一个QueryBuilder
实例,该实例可以传递给接受将IMongoQuery
实现为参数的对象MongoCollection
上各种方法中的任何一个。
如果您不需要收集特定的匹配项,您也可以只使用 Count
:
var totalMatches = collection.Count(Query.EQ("Name", Textbox1.Text));