Mongodb 无法在meteor中创建文档集合

Mongodb 无法在meteor中创建文档集合,mongodb,meteor,Mongodb,Meteor,尝试创建一个名为documents的集合,并在我的meteor应用程序中插入main.js中的文档。当尝试在控制台窗口中执行findOne方法时,我得到了uncaughtreferenceerror:未定义文档。我使用的是meteor版本1.10.2。我已经在我的计算机上安装了mongo,它的mongo外壳版本是4.2.1。如何使我的应用程序能够使用mongo main.js import { Meteor } from 'meteor/meteor'; import { Mongo } fro

尝试创建一个名为documents的集合,并在我的meteor应用程序中插入main.js中的文档。当尝试在控制台窗口中执行findOne方法时,我得到了uncaughtreferenceerror:未定义文档。我使用的是meteor版本1.10.2。我已经在我的计算机上安装了mongo,它的mongo外壳版本是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"});
  }

});

未定义文档,因为您已将集合分配给此。文档 只需像普通变量一样定义文档

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 }
要在控制台中访问文档,您需要像在文件中一样将模块导入控制台,但在控制台中,您可以使用require执行此操作:

注意:这仅在导出文档时才可能

或者,您可以通过将其指定给“窗口”或“全局”,使其成为全局的:


对于globals,您只需小心不要使用相同的名称命名其他变量,这样您就可以知道您要处理的对象了

谢谢您的反馈,Fred,但这不起作用。同样的问题。@larry8989,对不起,我错过了您试图从控制台访问它的消息,我已经用如何操作编辑了答案。您是在mongo shell中还是在浏览器控制台中执行findOne方法?
require('/path/to/main').Documents
const Documents = new Mongo.Collection("documents");
window.Documents = Documents;