Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb函数返回格式_Mongodb - Fatal编程技术网

mongodb函数返回格式

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

我在mongo中定义了一个函数,以返回一个用户集合(来自我的用户集合)。 这就是功能:

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等?)。你想回到哪里?通常,从函数返回只能返回单个值。如果您想在单个值中返回多个文档,那么它必须是一个集合类型,就像数组一样。你从哪里以及如何获得这些“单独的文件”?