Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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 Meteor将文档映射到用户ID_Mongodb_Meteor - Fatal编程技术网

Mongodb Meteor将文档映射到用户ID

Mongodb Meteor将文档映射到用户ID,mongodb,meteor,Mongodb,Meteor,此Meteor应用程序具有帐户密码包 Meteor.publish('tasks', function () { return Tasks.find({userId: this.userId}); }); Meteor如何知道“任务”集合中的哪个文档属于哪个用户?我是否需要向每个集合添加ownerId:Meteor.userId?谢谢一句话,“是的”。这里没有什么神奇之处——选择器只是说:“查找userId字段等于调用方用户id的所有文档”。由您来确保用户ID(或所有者ID或您想叫它的任何

此Meteor应用程序具有帐户密码包

Meteor.publish('tasks', function () {
  return Tasks.find({userId: this.userId});
});

Meteor如何知道“任务”集合中的哪个文档属于哪个用户?我是否需要向每个集合添加
ownerId:Meteor.userId
?谢谢

一句话,“是的”。这里没有什么神奇之处——选择器只是说:“查找
userId
字段等于调用方用户id的所有文档”。由您来确保
用户ID
(或
所有者ID
或您想叫它的任何东西)写得正确(通常在插入文档时)。

一句话,“是”。这里没有什么神奇之处——选择器只是说:“查找
userId
字段等于调用方用户id的所有文档”。由您来确保正确写入
用户ID
(或
所有者ID
或您想调用它的任何内容)(通常在插入文档时写入)。

一种常见的方法是通过
任务
集合上挂接

Tasks = new Mongo.Collection('tasks');

Tasks.before.insert(function (userId, task) {
    task.userId = userId;
});

Tasks.before.upsert(function (userId, selector, modifier, options) {
    modifier.$set = modifier.$set || {};
    modifier.$set.userId = userId;
});

一种常见的方法是通过
before
钩住
Tasks
集合

Tasks = new Mongo.Collection('tasks');

Tasks.before.insert(function (userId, task) {
    task.userId = userId;
});

Tasks.before.upsert(function (userId, selector, modifier, options) {
    modifier.$set = modifier.$set || {};
    modifier.$set.userId = userId;
});