Devi usare var
così:
> var a = db.col.find().limit(1)
{ "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"), "a" : 16807, "b" : 475249 }
> a
{ "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"), "a" : 16807, "b" : 475249 }
Facendo alcuni test ho notato che find()
sembra che il metodo stia impostando la variabile su un cursore. In questi casi, perdi la variabile dopo l'istruzione successiva.
> var a = db.col.find().limit(1)
{ "_id" : ObjectId("52dfccba5fd17fe6a4d0051a"), "a" : 16807, "b" : 475249 }
> var b = 'test'
> a
>
Se hai bisogno di mantenere la variabile in giro più a lungo, prova ad iterare esplicitamente la variabile prima di impostarla usando 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
}
]