sql >> Database >  >> NoSQL >> MongoDB

Hoe het queryresultaat (een enkel document) in een variabele op te slaan?

U moet var . gebruiken zoals zo:

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

Tijdens wat testen heb ik gemerkt dat de find() methode lijkt de variabele op een cursor in te stellen. In deze gevallen verlies je de variabele na het volgende statement.

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

Als u de variabele langer wilt behouden, probeer dan expliciet de variabele te herhalen voordat u deze instelt met 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. Hoe een reeks objecten in Redis op te slaan?

  2. Mongoose-query waarbij de waarde niet null is

  3. Zoals zoeken in MongoDB met Monk-bibliotheek

  4. MongoDb update-object in een array op eerste plaats van laatste