#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()}})
});
});