Javascript Meteor MongoDB集合无法访问Meteor publish
我已将数据导入meteor mongodb数据库。以下是我所做的: 通过运行meteor应用程序 $yourMeteorAppDir流星 在一个终端和另一个终端中,通过 $mongod 启动另一个终端并运行以下操作,将数据导入meteor应用程序的数据库: $mongoimport-h localhost:3001-d meteor-c collectionNameHereJavascript Meteor MongoDB集合无法访问Meteor publish,javascript,node.js,mongodb,meteor,Javascript,Node.js,Mongodb,Meteor,我已将数据导入meteor mongodb数据库。以下是我所做的: 通过运行meteor应用程序 $yourMeteorAppDir流星 在一个终端和另一个终端中,通过 $mongod 启动另一个终端并运行以下操作,将数据导入meteor应用程序的数据库: $mongoimport-h localhost:3001-d meteor-c collectionNameHere
Meteor.publish('collectionNameHere', function()
{return collectionNameHere.find();
});
我看到:
子ci9tk9AsFeyngHWwE引用异常错误:此处未定义集合名称
I20141203-07:15:18.436(-5)?在null处。\u处理程序(app/server/collectionName.js:9:14)
I20141203-07:15:18.436(-5)?在MaybauditArgumentChecks(packages/ddp/livedata_server.js:1599)
I20141203-07:15:18.436(-5)?在u.extend._runHandler(packages/ddp/livedata_server.js:943)
I20141203-07:15:18.437(-5)?在扩展时开始订阅(packages/ddp/livedata\u server.js:769)
I20141203-07:15:18.437(-5)?在u.extend.protocol_handlers.sub(packages/ddp/livedata_server.js:582)
I20141203-07:15:18.437(-5)?在packages/ddp/livedata_server.js:546
我可以通过meteor mongo查看mongo中的收藏,也可以通过find查询。我是否需要从应用程序而不是通过导入创建MongoDB集合
数据库\u dump.json
cd/var/www/html/meteor/myapp/
mongoimport--db meteor--collection mynewcollection--Type json--headerline--file'/var/www/html/meteor/myapp/database_dump.json'-h 127.0.0.1:3001--jsonArray
// Lib
MyNewCollection = new Meteor.Collection('mynewcollection');
// Server
Meteor.publish("mynewcollection", function() {
return MyNewCollection.find({});
});
// Client
Meteor.subscribe("MyNewCollection");
您需要一个对客户端和服务器都可用的
collectionNameHere=new meteor.Collection('collectionNameHere')
位置。感谢用户3557327。我的:lib/collections/collectionName.js中确实有这样的内容,folderI可能需要将return collectionNameHere.find()更改为return collectionNameHere.find({});集合仍然不可用。我所做的是通过$myApp reset
重置MongoDB,然后添加文档以检查集合,如果没有文档,则从fixture.js文件插入它们。您必须通过终端(!)执行mongoimport
,而不是通过mongo shell(mongod
)。这很重要罗恩,这是我正在做的一个辅助项目。我还需要从以前的Rails项目导入其他集合。我会继续尝试。谢谢你的帮助。