mongodb函数返回格式
我在mongo中定义了一个函数,以返回一个用户集合(来自我的用户集合)。 这就是功能:mongodb函数返回格式,mongodb,Mongodb,我在mongo中定义了一个函数,以返回一个用户集合(来自我的用户集合)。 这就是功能: db.system.js.save({ _id: "getUsers", value: function () { report = {}; db.Users.find({}) .projection({email: 1, account: 1, name: 1, phone: 1}) .forEach((item
db.system.js.save({
_id: "getUsers",
value: function () {
report = {};
db.Users.find({})
.projection({email: 1, account: 1, name: 1, phone: 1})
.forEach((item) => {
report[item._id] = { email: item.email, account: item.account, name:item.name, phone:item.phone }
});
return report;
}
});
当我使用db.getCollection('Users').find()时,我会得到多个文档,每个用户都在一个单独的文档中,比如:
/* 1 */
{
"_id" : ObjectId("577b72bc421aa97934294614"),
"name": "John"
}
/* 2 */
{
"_id" : ObjectId("577b72bc421aa97934294700"),
"name": "Ron"
}
/* 3 */
etc
当我运行该函数时,我只得到一个文档:
/* 1 */
[
{
"_id" : ObjectId("577b72bc421aa97934294614"),
"name": "John"
},
{
"_id" : ObjectId("577b72bc421aa97934294700"),
"name": "Ron"
},
etc....
]
为了将数据作为多个文档获取,我的函数应该返回什么?有可能吗?您是如何处理结果的?我处理结果是什么意思?在函数中,我返回一个数组。我试图返回一个字典,但没有返回多个文档。好吧,返回一个数组。这就是为什么你会得到一个数组。你还期待什么呢?如果您循环使用它,您将一个接一个地获得各个文档。如果你想要一个文档集合,那必须是一个数组。我问这个问题的原因是为了找到我应该返回的内容。我试图返回一个字典,但是当我调用该函数时,我得到了一个包含字典的文档。调用函数时,为了获得多个文档(如find()返回),应该从函数返回什么?具体是哪个函数?Mongo贝壳里有什么?或者使用一些客户机编程语言(nodejs、Python等?)。你想回到哪里?通常,从函数返回只能返回单个值。如果您想在单个值中返回多个文档,那么它必须是一个集合类型,就像数组一样。你从哪里以及如何获得这些“单独的文件”?