Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#中的mongodb查询使用in运算符_C#_.net_Mongodb - Fatal编程技术网

c#中的mongodb查询使用in运算符

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"]}} ] } ) 有人能帮我解决这个问题吗 根据,您可以尝试传

我试图使用mongodb的驱动程序在c#中转换mongodb本机查询,但不知何故,它无法生成正确的结果

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代码吗?