我想做这样的事情:
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)
由于
答案 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;