collectionfs вставить идентификатор пользователя для метода вставки

#meteor

#meteor

Вопрос:

Функция вставки collectionfs по умолчанию добавит некоторую информацию об изображениях в mongodb cfs.images.коллекция записей файлов, как я могу добавить свой идентификатор пользователя вместе с методом вставки, чтобы всякий раз, когда мне нужно, я мог находить изображения по идентификатору пользователя?

 FS.Utility.eachFile(event, function(file) {
    Images.insert(file, function (err, fileObj) {

    });
});
  

Ответ №1:

Чтобы получить доступ к идентификатору пользователя текущего в Meteor, вы можете использовать

  Meteor.users.findOne({})._id
  

Вы можете вставить это в свою коллекцию, например, через

 Images.insert(
        {
           user: Meteor.users.findOne({})._id
           Images.insert(file, function (err, fileObj)

        }
    )
  

Комментарии:

1. Нет никакой гарантии, что Meteor.users.findOne({})._id это вернет идентификатор регистрируемого пользователя id. Используйте Meteor.userId() вместо этого, что гарантирует это. docs.meteor.com/#meteor_userid Кроме того, ваше второе значение в объекте не получило ключа?

2. это допустимый синтаксис?

3. @maxli Нет, запятая, части функции и закрывающая скобка также отсутствуют.

Ответ №2:

Вот как я это делаю, работает, но не уверен, что это лучшее решение:

 FS.Utility.eachFile(event, function(file) {
    Images.insert(file, function (err, fileObj) {
        // update the db since I know the file _id
        Images.update({_id:fileObj._id}, {$push:{user:Meteor.userId()}})
    });
});