gpt4 book ai didi

javascript - meteor.js 使用 aldeed :tabular with RemoteCollectionDriver

转载 作者:行者123 更新时间:2023-11-28 07:25:48 27 4
gpt4 key购买 nike

我在尝试将数据从集合填充到 aldeed:tabular 时遇到问题 meteor 模块。

我的代码如下所示,是项目的根目录,作为 common.js 文件。
下面的所有代码都在一个文件中:根/lib/hello.js

if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup

database = new MongoInternals.RemoteCollectionDriver("mongodb://localhost:27017/mydb");
idpool = new Mongo.Collection("idpool", {_driver:database});

Meteor.publish('idpool', function(){
return idpool.find();
});

});
}

if (Meteor.isClient) {

Meteor.subscribe("idpool");
}


TabularTables = {};

Meteor.isClient && Template.registerHelper('TabularTables', TabularTables);

TabularTables.idpool = new Tabular.Table({
name: "idpool",
collection: idpool,
columns: [
{data: "_id", title: "id"}
]
});

表格代码必须是服务器和客户端可见的通用代码,但是当我运行上面的代码时,“idpool”集合未定义(超出范围)。

Reference Error: idpool is not defined

将范围之外的DB声明移至JS顶部,然后我无法发布和订阅它。即:

database = new MongoInternals.RemoteCollectionDriver("mongodb://localhost:27017/adaptiveid");
idpool = new Mongo.Collection("idpool", {_driver:database});
//rest of the code.....

如果我尝试通过代码的常见表格部分第二次添加,如下所示:

idpool = new Mongo.Collection("idpool");

我收到以下错误:

Error: A method named '/idpool/insert' is already defined

我在这里做错了什么?如何声明数据库服务器端并将其公开给通用表格代码。

最佳答案

您应该将代码放在/lib 文件夹中

  /lib
if(Meteor.isServer){
database = new MongoInternals.RemoteCollectionDriver("mongodb://localhost:27017/adaptiveid");
idpool = new Mongo.Collection("idpool", {_driver:database});
//rest of the code.....
}

为什么是 isServer 和/lib?/lib 文件夹是开始时第一个加载的 meteor ,但是该代码在客户端/服务器之间共享,这就是为什么您应该指定它仅在服务器中使用该代码

注意错误:名为的方法
“/idpool/insert”已定义
出现在这里,因为您声明了集合 idpool 两次。

idpool = new Mongo.Collection("idpool", {_driver:database})

你已经在那里声明了集合,为什么要声明两次?只需删除第二个idpoll = new Mongo.Collection('idpool')

关于javascript - meteor.js 使用 aldeed :tabular with RemoteCollectionDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29666029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com