Query di Mongodb Per selezionare i record con una determinata chiave

I record nel mio database sono

{"_id":"1","fn":"sagar","ln":"Varpe"} {"_id":"1","fn":"sag","score":"10"} {"_id":"1","ln":"ln1","score":"10"} {"_id":"1","ln":"ln2"} 

Devo progettare una query MongoDB per trovare tutti i record che hanno una determinata chiave.

Ad esempio, se si passa ln come parametro alla query, shuold restituisce tutti i record in cui ln è una chiave. I risultati sarebbero

 {"_id":"1","fn":"sagar","ln":"Varpe"} {"_id":"1","ln":"ln1","score":"10"} {"_id":"1","ln":"ln2"} 

Per scoprire se una chiave / campo esiste nel tuo documento usa l’operatore $ exists .

Tramite la shell MongoDB …

 db.things.find( { ln : { $exists : true } } ); 

Ho avuto lo stesso problema e

 db.coll.find({"mykey":{'$exists': 1}}) 

ha funzionato per me

 db.collection.find({ ln: { $exists: true} }); 

L’operatore $ size corrisponde a qualsiasi array con il numero di elementi specificato dall’argomento. Per esempio:

 db.collection.find({ ln: { $exists: true, $size: 0 } }); 

$ size non accetta intervalli di valori. Per selezionare documenti basati su campi con un numero diverso di elementi, creare un campo contatore che si incrementa quando si aggiungono elementi a un campo.