sql >> Databáze >  >> NoSQL >> MongoDB

Jak se v Mongu dotazujete, zda není null?

Tím se vrátí všechny dokumenty s klíčem nazvaným „URL IMAGE“, ale stále mohou mít hodnotu null.

db.mycollection.find({"IMAGE URL":{$exists:true}});

Tím se vrátí všechny dokumenty s klíčem nazvaným „URL IMAGE“ a nenulovou hodnotu.

db.mycollection.find({"IMAGE URL":{$ne:null}});

Podle dokumentů také $exists aktuálně nemůže používat index, ale $ne ano.

Upravit:Přidáváme několik příkladů kvůli zájmu o tuto odpověď

Vzhledem k těmto vložkám:

db.test.insert({"num":1, "check":"check value"});
db.test.insert({"num":2, "check":null});
db.test.insert({"num":3});

Tím se vrátí všechny tři dokumenty:

db.test.find();

Tím se vrátí pouze první a druhý dokument:

db.test.find({"check":{$exists:true}});

Tím se vrátí pouze první dokument:

db.test.find({"check":{$ne:null}});

Tím se vrátí pouze druhý a třetí dokument:

db.test.find({"check":null})


  1. dotaz v mongo Shell dává SyntaxError:missing :po vlastnosti

  2. Služba Mongodb se nespustí

  3. Multi-sbírka, multi-dokumentové 'transakce' v MongoDB

  4. Co je MongoDB a jak funguje?