mongodb запрос в c # с использованием в операторе

1

Я пытаюсь преобразовать собственный запрос mongodb в С#, используя их драйвер, но каким-то образом он не дает правильных результатов.

db.food.find
(
{
    $and:[
     {min_price:{$gte:1}}
    ,{max_price:{$lte:50}}
    ,{food:{$in:["sausage","burger"]}}
    ,{location:{$in:["new york","chicago"]}}
    ]
}
)

Может кто-то, пожалуйста, помогите мне с кодом С#?

  • 1
    любой код C #, пожалуйста?
Теги:

1 ответ

0

Согласно документации, вы можете попробовать Query.And метод с параметрами, в которых вы передаете один объект Query, примерно так:

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
}

в этом примере я использовал класс RawBsonDocument, но вы можете использовать LazyBsonDocument если ваши данные большие. Неявная операторы из string в BsonValue реализована, и вы можете использовать затем в .In методы.

Полная документация.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню