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

Jak uložit výsledek dotazu (jeden dokument) do proměnné?

Musíte použít var takhle:

> var a = db.col.find().limit(1)
{ "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"), "a" : 16807, "b" : 475249 }
> a
{ "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"), "a" : 16807, "b" : 475249 }

Při nějakém testování jsem si všiml, že find() Zdá se, že metoda nastavuje proměnnou na kurzor. V těchto případech ztratíte proměnnou po dalším příkazu.

> var a = db.col.find().limit(1)
{ "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"), "a" : 16807, "b" : 475249 }
> var b = 'test'
> a
>

Pokud potřebujete proměnnou ponechat déle, zkuste ji před nastavením explicitně iterovat pomocí toArray() .

> var a = db.col.find().limit(1).toArray()
{ "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"), "a" : 16807, "b" : 475249 }
> var b = 'test'
> a
[
  {
    "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"),
    "a" : 16807,
    "b" : 475249
  }
]


  1. Přepínejte mezi JPA a Mongo v aplikaci Spring Boot MVC

  2. Výkon dotazu aktualizace Mongo DB

  3. Agregační dotaz MongoDB – Přejmenovat pole vrácená z vložených dokumentů

  4. MongoDB zahodí každou databázi