import {favRestaurants} from '/lib/collections';
import {Meteor} from 'meteor/meteor';
import {check} from 'meteor/check';
export default function() {
Meteor.methods({
'favRestaurants.create' (id, name, rating, priceLevel, type) {
check(id, String);
check(name, String);
check(rating, Number);
check(priceLevel, Number);
check(type, String);
const createdAt = new Date();
const restaurant = {id, name, rating, priceLevel, type, createdAt};
if(check(Meteor.user()) == null){
console.log('onlye logged in users can data');
}else{
FavRestaurants.insert(restaurant);
}
}
});
}
Это мой способ вставки для добавления данных в коллекции ресторанов. Когда я консоль регистрирую 'check (Meteor.user()) в консоли, я получаю null как вывод. По этой логике вы не сможете добавлять данные в коллекцию, хотя это все еще возможно.создать персональные коллекции для зарегистрированных пользователей
Я также хотел бы сделать коллекцию FavResaurants личным для каждого пользователя. Iv'e попытался проверить, есть ли пользователь, а затем добавить коллекцию в файле main.js на стороне клиента.
Meteor.loggingIn(() => {
console.log('check for user method');
var restId = 0;
if(Meteor.user() != null){
console.log('created new collection for the user');
const FavRestaurants = new Mongo.Collection('favRestaurants' + restId);
}
restId++;
});
я не получаю никакого вывода на консоль, используя этот метод, который я нашел в метеора docs. Является ли код неправильным? Любая помощь многозначительна.
В соответствии с docs Accounts.ui.config - это метод, который я должен использовать. Но я не уверен в коде, я должен это выразить. До сих пор размещение этого метода привело к сбою моего приложения.
Коллекции должны быть определены как на стороне клиента, так и на стороне сервера, за исключением * локальных коллекций *, которые определены только на клиенте и никогда не отображаются на сервер. –
коллекция определяется как на клиенте, так и на сервере –