c#中的mongodb查询使用in运算符
我试图使用mongodb的驱动程序在c#中转换mongodb本机查询,但不知何故,它无法生成正确的结果c#中的mongodb查询使用in运算符,c#,.net,mongodb,C#,.net,Mongodb,我试图使用mongodb的驱动程序在c#中转换mongodb本机查询,但不知何故,它无法生成正确的结果 db.food.find ( { $and:[ {min_price:{$gte:1}} ,{max_price:{$lte:50}} ,{food:{$in:["sausage","burger"]}} ,{location:{$in:["new york","chicago"]}} ] } ) 有人能帮我解决这个问题吗 根据,您可以尝试传
db.food.find
(
{
$and:[
{min_price:{$gte:1}}
,{max_price:{$lte:50}}
,{food:{$in:["sausage","burger"]}}
,{location:{$in:["new york","chicago"]}}
]
}
)
有人能帮我解决这个问题吗 根据,您可以尝试传递单个查询
对象,如下所示:
var food = server.GetDatabase("food", credentials);
var col = db.GetCollection<RawBsonDocument>("bar");
foreach (var doc in col.Find(
Query.And(
Query.GTE("min_price", 1),
Query.LTE("max_price", 50),
Query.In("food", new [] { (BsonValue)"sausage", (BsonValue)"burger" }),
Query.In("location", new [] { (BsonValue)"new york", (BsonValue)"chicago" })
))
)
{
// handle found doc here
}
var food=server.GetDatabase(“food”,凭证);
var col=db.GetCollection(“bar”);
foreach(列中的var文档查找(
查询.及(
查询.GTE(“最低价格”,1),
Query.LTE(“最高价格”,50),
Query.In(“food”,new[]{(BsonValue)“香肠”,(BsonValue)“汉堡”}),
Query.In(“location”,new[]{(BsonValue)“new york”,(BsonValue)“chicago”})
))
)
{
//我在这里找到了医生
}
在本例中,我使用了RawBsonDocument
类,但是如果数据很大,可以使用lazybondocument
。实现了从string
到BsonValue
的隐式运算符,您可以在.in
方法中使用
.请问有C代码吗?