Я следую MongoDB документации для C# & оболочки команды, чтобы понять find()
для $and
для ресторанов например. Однако после проблема, которую я заметил:
ar builder = Builders<BsonDocument>.Filter; var filter = builder.Eq("cuisine", "Italian") & builder.Eq("address.zipcode", "10075");
фильтрует рестораны коллекции, однако, когда я меняю фильтр, как:
var filter = builder.Eq("borough", "Manhattan") & builder.Eq("cuisine", "American");
Это не возвращает ни одной записи, как я могу видеть комбинацию из этих двух представлены в ресторанов коллекции.
Shell команда, которая не работает: db.restaurants.find({ $and: [ {borough: "Queens" }, { cuisine: "American" } ] })
Любые подсказки?
К сожалению, один вы предложили также не работает, как я попробовал это раньше. Он просто показывает мне снова командное приглашение. '> db.restaurants.find ({р-н: "Queens", кухня: "американская"}) >' – Kenz
Если вы используете restaurants.json наборы данных (https://raw.githubusercontent.com/ mongodb/docs-assets/primer-dataset/dataset.json), обратите внимание, что за «американской» кухней следует пустое место. Попробуйте следующее: 'db.restaurants.find ({borough:« Queens », кухня:« American »})' или 'db.restaurants.find ({город:« Queens », кухня: {$ regex:/^ American /}}) ', чтобы соответствовать тем документам, которые' кухня', которые начинаются с 'American' – nach0