从Mongo DB获取文档列表

时间:2010-05-28 09:20:45

标签: c# mongodb

我想做这样的事情:

 List<int> fff = new List<int>();
 fff.Add(1);
 fff.Add(2);
 fff.Add(5);

 Mongo m = new Mongo();
 m.Connect();
 var dataBase = m.GetDatabase("database");
 var collection = dataBase.GetCollection("coll");

 IMongoQuery queryable = collection.AsQueryable();
        MongoQueryProvider prov = new MongoQueryProvider(collection);
        var query = new MongoQuery(prov);

 var ffppp = from p221 in query where fff.Contains((int)p221["oid"]) select p221;

这会抛出此错误:“Contains”方法无法转换为常量。

我看到mongo有一个运营商$ in。有没有人知道如何从c#中使用它? (http://www.mongodb.org/display/DOCS/Advanced+Queries

由于

1 个答案:

答案 0 :(得分:0)

经过更多的谷歌搜索后,我发现了这一点:

http://www.claassen.net/geek/blog/2009/09/linq2mongodb-building-linq-provider-for.html

var mongo = new Mongo();
var queryable = mongo["db"]["collection"].AsQueryable();
var in = from d in queryable where d.Key("foo").In("bar", "baz") select d;