gpt4 book ai didi

mongodb - 如何将查询结果(单个文档)存储到变量中?

转载 作者:IT老高 更新时间:2023-10-28 13:14:25 26 4
gpt4 key购买 nike

我想将单个文档保存到 Mongo JS shell 中的变量中,并为后面的操作操作文档(读/写几个属性),但是 Mongo JS 似乎没有将任何内容放入变量中:

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

mongo 支持这种用法吗?还是有什么错误?

最佳答案

你需要像这样使用 var:

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

在进行一些测试时,我注意到 find() 方法似乎确实将变量设置为游标。在这些情况下,您会在下一条语句之后丢失变量。

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

如果您需要将变量保留更长时间,请在使用 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
}
]

关于mongodb - 如何将查询结果(单个文档)存储到变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21284857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com