Я играю в Meteor и обнаружил, что он не работает должным образом. Я должен видеть коллекцию как на стороне сервера, так и на стороне клиента. Однако, похоже, я не вижу коллекцию на стороне клиента.Коллекция MongoDB не распознается на стороне клиента
В следующем примере, когда я напечатал "Products.find ({})" в консоли Chrome, я сталкивался:
VM1592:1 Uncaught ReferenceError: Products is not defined
клиент/main.html:
<body>
{{> addProduct}}
</body>
<template name="addProduct">
<form class="addNewProduct">
product name:<br>
<input type="text" name="name"><br>
<button type="submit" value="submit">Submit</button>
</form>
</template>
клиент/main.js:
import {Products} from "/lib/collections/products";
import './main.html';
Template.addProduct.events({
'submit .addNewProduct'(event) {
event.preventDefault();
const target = event.target;
const name = target.name.value;
Products.insert({ name });
},
});
Библиотека/коллекция/products.js:
export const Products = new Mongo.Collection('products');
Я не удалял "autopublish". Что здесь действительно не так?
Благодаря
Дерек
Итак, Meteor 1.3+ больше не будет поддерживать прямой доступ к коллекциям? – derek
Не совсем, если вы определяете переменную вне папки 'import' без' var/let/const', эту переменную можно получить глобально. – Khang
Другими словами, если вы используете var/let/const или ваши файлы находятся в папке «import», ваша коллекция не будет доступна на стороне клиента. Правильно ли это> – derek