2013-03-14 30 views
1

查询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对象。

回答

1

,我做事情是这样的:

var collection = db.GetCollection<MyType>("collectionName"); 
var query = Query.EQ("fieldname", valueToQuery); 
var results = collection.Find(query); 
+1

一旦你创建的列的索引你可以查询正常,它为你的一切? – anthonypliu 2013-03-14 22:20:26

+1

是的。您可以使用.explain()命令验证查询中使用的索引(如果有) – sambomartin 2013-03-14 23:21:21

+1

这是正确的。您无需执行任何操作即可使用索引。如果您没有看到索引期望的好处,那么使用上面提到的sambomartin的explain命令将显示正在使用的索引。 – 2013-03-18 14:51:45

相关问题