【发布时间】:2017-12-04 12:27:32
【问题描述】:
开发者们好!我正在使用 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 包
【问题讨论】:
-
很可能是导入问题。您应该将其作为命名导入 (
import {Messages} from...) 导入,或者将其导出为默认值。 -
使用花括号,如
import { Messages } from './dbs/messages.js';
标签: meteor collections mongoose