varios relacionar lista insertar ejemplos documentos consultas comandos colecciones anidadas mongodb mongodb-query database

relacionar - mongodb ejemplos



Seleccione los documentos de MongoDB donde un campo no existe, es nulo o es falso? (1)

Puedes hacer esto con $in :

db.fruits.find({is_reported: {$in: [null, false]}})

devoluciones:

{ "_id": 1, "name": "Apple" } { "_id": 2, "name": "Banana", "is_reported": null } { "_id": 3, "name": "Cherry", "is_reported": false }

También puede cambiar las cosas lógicamente y usar $ne si no tiene ningún valor además de true para excluir:

db.fruits.find({is_reported: {$ne: true}})

Supongamos que tengo una colección que contiene los siguientes documentos:

{ "_id": 1, name: "Apple" } { "_id": 2, name: "Banana", "is_reported": null } { "_id": 3, name: "Cherry", "is_reported": false } { "_id": 4, name: "Kiwi", "is_reported": true }

¿Existe una consulta más sencilla para seleccionar todos los documentos en los que "is_reported" se encuentra en estado falso? es decir, ¿no existe, nulo o falso? Es decir, una consulta que selecciona Apple, Banana y Cherry, pero no Kiwi?

De acuerdo con las preguntas frecuentes de MongoDB , { "is_reported": null } seleccionará los documentos donde "is_reported" es nulo o no existe, pero aún no selecciona los documentos donde "is_reported" es falso.

Ahora mismo tengo la siguiente consulta, que funciona bien, pero no parece muy elegante. Si hay varios campos que debo seleccionar, se ensucia muy rápido. ¿Hay alguna consulta mejor que logre el mismo resultado final?

db.fruits.find({ $or: [ { "is_reported": null }, { "is_reported": false } ] })