将 userID 关联到 Meteor 中用户上传的数据
Associating a userID to user uploaded data in Meteor
我几天前问过这个问题,但删除了它,我在此处添加更多说明以了解我正在查看的内容。
所以我有一个过程,用户上传 CSV,然后由 PapaParse 解析 CSV,然后发送服务器端并最终插入 MongoDb。
我的问题是 none 这些上传链接到特定用户,因此任何人都可以像现在这样访问每个上传。
我尝试做的是循环上传数据,如下所示;
var document = [{object}, {object}, {object}, {object}, {object}... ];
我使用 for 循环遍历每个对象并添加一个 _id
字段,其中包含通过 var currentUser = this.userId;
的用户 ID
Meteor.methods({
insert: function(document){
var currentUser = this.userId;
var newDocument = document;
for(var i = 0; i < newDocument.length; i++){
newDocument[i]._id = currentUser;
}
Bank.insert(newDocument);
}
问题是内存分配对于较大的上传来说是个问题,meteor 只是崩溃试图遍历所有对象并将 _id 键单独添加到数组的每个单元格中的每个对象。
当文档插入 MongoDB 时,它看起来像这样:
我知道在我之前的 post 中,有人提到 MongoDB 的插入方法不将数组作为输入,但在我的情况下,它确实如此,因为上面的屏幕截图是文档在插入 MongoDB 之前的确切外观。所以基本上,每个对象都是 MongoDB 中的一个新文档。我正在尝试找到一种方法将用户的用户 ID 与数据库中的每个文档绑定。
除了遍历整个数据集之外,还有其他方法可以将上传与唯一当前用户相关联吗?某些用户可能有数万个数据集?
为什么不直接做呢?
Meteor.methods({
insert: function(document){
var currentUser = Meteor.userId();
var newDocument = document;
Bank.insert({userId: currentUser, data: newDocument});
}
});
现在您 collection 中的每个文档将有两个 键 :userId
和 data
。后者将是你的数组。
我几天前问过这个问题,但删除了它,我在此处添加更多说明以了解我正在查看的内容。
所以我有一个过程,用户上传 CSV,然后由 PapaParse 解析 CSV,然后发送服务器端并最终插入 MongoDb。
我的问题是 none 这些上传链接到特定用户,因此任何人都可以像现在这样访问每个上传。
我尝试做的是循环上传数据,如下所示;
var document = [{object}, {object}, {object}, {object}, {object}... ];
我使用 for 循环遍历每个对象并添加一个 _id
字段,其中包含通过 var currentUser = this.userId;
Meteor.methods({
insert: function(document){
var currentUser = this.userId;
var newDocument = document;
for(var i = 0; i < newDocument.length; i++){
newDocument[i]._id = currentUser;
}
Bank.insert(newDocument);
}
问题是内存分配对于较大的上传来说是个问题,meteor 只是崩溃试图遍历所有对象并将 _id 键单独添加到数组的每个单元格中的每个对象。
当文档插入 MongoDB 时,它看起来像这样:
我知道在我之前的 post 中,有人提到 MongoDB 的插入方法不将数组作为输入,但在我的情况下,它确实如此,因为上面的屏幕截图是文档在插入 MongoDB 之前的确切外观。所以基本上,每个对象都是 MongoDB 中的一个新文档。我正在尝试找到一种方法将用户的用户 ID 与数据库中的每个文档绑定。
除了遍历整个数据集之外,还有其他方法可以将上传与唯一当前用户相关联吗?某些用户可能有数万个数据集?
为什么不直接做呢?
Meteor.methods({
insert: function(document){
var currentUser = Meteor.userId();
var newDocument = document;
Bank.insert({userId: currentUser, data: newDocument});
}
});
现在您 collection 中的每个文档将有两个 键 :userId
和 data
。后者将是你的数组。