Mongodb найти все, кроме одного или двух критериев

хорошо для одного сопоставления полей я запускаю:

db.bios.find( { "Country":"Netherlands" } )

Как я могу принести все документы, но не те, что с "Country":"Netherlands"?

также можно ли принести все документы, но без 2-х стран?

2 ответов


использовать $nin оператор

например:

db.bios.find( { Country: { $nin: ["Country1", "Country2"] } } )

и $ne только для одной страны:

db.bios.find( { Country: { $ne: "Country1" } } )

можно использовать $ne-оператор (не равно) для одного значения.

db.bios.find( { "Country": { $ne: "Netherlands" } } );

чтобы исключить более одного значения, вы можете использовать $nin (not-in) оператор, который позволяет передавать массив значений:

db.bios.find( { "Country": { $nin: [ "Netherlands", "Belgium", "Luxembourg" ] } );