如何使用C#驱动
问题描述:
查询MongoDB中的索引我有以下数据结构:如何使用C#驱动
{
eventname: "blah",
invitees: [
{
inviteid: 1,
userid: 34234
},
{
inviteid: 2,
userid: 5232
}]
}
我要对我的受邀者列中使用ensureIndex
,所以我不必每个文档搜索找到具体被邀请者列中的用户标识。它基本上搜索特定用户ID被邀请的事件。我被建议使用这db.events.find({"invitees.userid" : 34234})
来查询它,但我如何做到这一点在C#与10gen驱动程序。 .find
方法只接受一个Mongo Query对象。
答
,我做事情是这样的:
var collection = db.GetCollection<MyType>("collectionName");
var query = Query.EQ("fieldname", valueToQuery);
var results = collection.Find(query);
一旦你创建的列的索引你可以查询正常,它为你的一切? – anthonypliu 2013-03-14 22:20:26
是的。您可以使用.explain()命令验证查询中使用的索引(如果有) – sambomartin 2013-03-14 23:21:21
这是正确的。您无需执行任何操作即可使用索引。如果您没有看到索引期望的好处,那么使用上面提到的sambomartin的explain命令将显示正在使用的索引。 – 2013-03-18 14:51:45