美好的一天开发者!我正在使用Meteor.js这是我的第一次见证 我在文件中创建了集合
// ./dbs/messages.js
import { Mongo } from 'meteor/mongo';
import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';
export const Messages = new Mongo.Collection('messages');
并在api点使用它,同时调用Messages.insert
// server/mail.js
import Messages from './dbs/messages.js';
Meteor.methods({
'message.post'(messageText, location){
Messages.insert({
messageText: messageText,
location: location
});
}
})
但是当我致电'message.post'
时,我收到错误
Exception while invoking method 'message.post' TypeError
Messages.insert is not a function
但是,当我评论集合导入并在server/main.js
中声明它时
// import Messages from './dbs/messages.js';
const Messages = new Mongo.Collection('messages');
Meteor.methods({
'message.post'(messageText, location){
Messages.insert({
messageText: messageText,
location: location
});
}
});
在这种情况下,我的Messages.insert
可以正常使用。
谁有Meteor的经验 - 你能解释一下我的原因是什么吗?
谢谢!
我还删除了autopublish
和insecure
个套件
答案 0 :(得分:5)
由于@MasterAM和@Ankur Soni说您需要使用括号QGraphicsItem
导入消息
没有括号导入的唯一方法是定义消息,然后像QGraphicsObject
答案 1 :(得分:0)
我在“共同”空间中发起我的收藏。我觉得你所做的事实上是对的。您可以将集合声明两次,一次在客户端,一次在服务器端,或者只在公共文件夹中执行一次。我在许多文档中看到,保留这些声明的流行地点是/ imports / api ...这对于服务器和客户端都是通用的。
RGS, 保罗