sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur lagrar man frågeresultat (ett enda dokument) i en variabel?

Du måste använda var som så:

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

När jag gjorde några tester har jag märkt att find() Metoden verkar vara att ställa in variabeln till en markör. I dessa fall förlorar du variabeln efter nästa påstående.

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

Om du behöver behålla variabeln längre, försök att explicit iterera variabeln innan du ställer in den med 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. Mongoose-modell Schema med referensarray:CastError:Cast to ObjectId misslyckades för värde [object Object]

  2. Varför ansluter inte min mongodb till port 28017?

  3. Hur gör man flera kopplingar mellan två samlingar i mongodb med lambda-funktionen?

  4. Jag tar emot dubbletter av meddelanden i min klustrade node.js/socket.io/redis pub/sub-applikation