varios texto relacionados registros insertar documentos contar consultas comandos buscar avanzado anidadas mongodb

texto - mongodb consultas anidadas



Compruebe que el campo exista con MongoDB (4)

Encuentro que esto funciona para mí

db.getCollection(''collectionName'').findOne({"fieldName" : {$ne: null}})

Así que estoy tratando de encontrar todos los registros que tienen un campo configurado y no es nulo.

Intento usar $exists , sin embargo, según la documentación de MongoDB, esta consulta arrojará campos que sean nulos.

$exists no coincide con los documentos que contienen el campo que almacena el valor nulo.

Así que ahora estoy asumiendo que tendré que hacer algo como esto:

db.collection.find({ "fieldToCheck" : { $exists : true, $not : null } })

Sin embargo, cada vez que pruebo esto, obtengo el error [invalid use of $not] Alguien tiene una idea de cómo consultar esto?


Puedes usar .Count()

count, err = collection.Find(bson.M{field: value}).Count()

pero recuerda establecer:

Session.SetSafe

db.SetSafe(&mgo.Safe{})

De lo contrario, devolverá 0 en cada llamada.


Supongamos que tenemos una colección como la siguiente:

{ "_id":"1234" "open":"Yes" "things":{ "paper":1234 "bottle":"Available" "bottle_count":40 } }

Queremos saber si el campo de la botella está presente o no?

Ans:

db.products.find({"things.bottle":{"$exists":true}})


Use $ne (para "no igual")

db.collection.find({ "fieldToCheck": { $exists: true, $ne: null } })