尝试创建一个名为“ documents”的集合,并将main.js中的文档插入流星应用程序中。尝试在控制台窗口中执行findOne方法时,出现“ Uncaught ReferenceError:未定义文档”。我正在使用流星版本1.10.2。我的计算机上安装了mongo,其mongo shell版本是4.2.1。如何启用我的应用程序以使用mongo?
main.js
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
Meteor.startup(() => {
// code to run on server at startup
this.Documents = new Mongo.Collection("documents");
if(!Documents.findOne()) {
Documents.insert({title:"my new documents"});
}
});
答案 0 :(得分:1)
文档未定义,因为您已将集合分配给this.documents
像普通变量一样定义文档
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
const Documents = new Mongo.Collection("documents");
if(!Documents.findOne()) {
Documents.insert({title:"my new documents"});
}
export { Documents }
要在控制台中访问Documents
,需要将模块导入控制台(就像在文件中一样),除了在控制台中,您可以使用require
:
require('/path/to/main').Documents
注意:仅当导出Documents
时才可能
或者,您可以通过将其分配给window
或global
使其全局:
const Documents = new Mongo.Collection("documents");
window.Documents = Documents;
使用全局变量时,您只需要注意不要用相同的名称命名其他变量,这样您就知道要处理的对象