【问题标题】:MongoDB - trying to transfer contents of an entire collection to one 'user object' in another collectionMongoDB - 尝试将整个集合的内容传输到另一个集合中的一个“用户对象”
【发布时间】:2017-07-17 01:35:21
【问题描述】:

我为自己收集唱片已经有一段时间了,所以我有一个完全是我自己的唱片的集合。现在我正在尝试添加多用户功能,并希望将我的所有数据从该集合传输到另一个集合中我自己的用户对象中的数组。

这就是我所在的地方。

myRecordsCollection.find({}).forEach(function(err, doc) {
    usersCollection.update(
        {
            "name": "Me"
        },
        {$push:
            {
                'records' : doc
            }
        }
    );
});

但这不起作用。 :(

【问题讨论】:

    标签: javascript mongodb collections transfer


    【解决方案1】:

    $push 一次只推送一个项目,但是你正在尝试推送数组,你需要使用 $each 和 $push。

    myRecordsCollection.find({}).forEach(function(err, doc) {
        usersCollection.update(
            {
                "name": "Me"
            },
            {$push:
                {
                    'records' : { $each: doc }
                }
            }
        );
    });
    

    【讨论】:

    • 它似乎工作,直到?结束?的文件,这是发生这种情况的时间。 D= c:\Users\Jon\Desktop\node_modules\mongodb\lib\utils.js:98 process.nextTick(function() { throw err; });
    • 可能是您的文档很大,这就是为什么会出现此错误.....另一种迭代文档的选项,您可以使用 async.each
    猜你喜欢
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2019-10-01
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多