Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 流星预装_Mongodb_Meteor - Fatal编程技术网

Mongodb 流星预装

Mongodb 流星预装,mongodb,meteor,Mongodb,Meteor,我在meteor中收集了以下内容: CodesData = new Mongo.Collection('CodesData'); CodesDataSchema = new SimpleSchema({ code: { label: "Code", type: Number }, desc: { label: "Description", type: String, } }); CodesData

我在meteor中收集了以下内容:

CodesData = new Mongo.Collection('CodesData');

CodesDataSchema = new SimpleSchema({
    code: {
        label: "Code",
        type: Number
    },
    desc: {
        label: "Description",
        type: String,
    }
});

CodesData.attachSchema(CodesDataSchema);
现在我想用一些数据预先填充这个集合。 例如:代码:1描述:“你好”。
如何手动轻松地执行此操作?

服务器应用程序加载并启动后,您可以使用Meteor.startup在收藏上运行一些操作:

CodesData = new Mongo.Collection('CodesData'); 
CodesDataSchema = new SimpleSchema({ code: { label: "Code", type: Number }, desc: { label: "Description", type: String, } }); 
.attachSchema(CodesDataSchema);

Meteor.startup(()=>{
  // Only fill if empty, otherwise
  // It would fill on each startup
  if (CodesData.find().count() === 0) {
    CodesData.insert({ code: 1, description: 'some description' });
  }
});
如果要预先填充大量数据,可以在JSON中定义并在启动时加载:

考虑以下名为
pre
的json:

{
  codesdata: [
    { code: 1, description: 'foo' },
    { code: 7, description: 'bar' }
  ]
}

Meteor.startup(()=>{
  const preData = JSON.parse( pre );
  preData.codesData.forEach( entry => {
    CodesData.insert( entry );
  });
});
这使您可以更轻松地管理预填充,还可以根据需要对json进行版本控制(并且不会显示敏感数据)

注意事项:

每次启动时都会运行函数
Meteor.startup
。因此,您应该考虑如何避免不必要的插入/预填充,从而创建双倍。一个好方法是检查集合是否为空(请参见第一个示例)

您可以将启动代码放在另一个js文件中,以便将定义与启动例程分开

当前脚本不区分服务器和客户端。您应该考虑在服务器上执行此操作,并在其周围创建发布/订阅。 更多阅读资料:


服务器应用程序加载并启动后,您可以使用Meteor.startup对收藏运行一些操作:

CodesData = new Mongo.Collection('CodesData'); 
CodesDataSchema = new SimpleSchema({ code: { label: "Code", type: Number }, desc: { label: "Description", type: String, } }); 
.attachSchema(CodesDataSchema);

Meteor.startup(()=>{
  // Only fill if empty, otherwise
  // It would fill on each startup
  if (CodesData.find().count() === 0) {
    CodesData.insert({ code: 1, description: 'some description' });
  }
});
如果要预先填充大量数据,可以在JSON中定义并在启动时加载:

考虑以下名为
pre
的json:

{
  codesdata: [
    { code: 1, description: 'foo' },
    { code: 7, description: 'bar' }
  ]
}

Meteor.startup(()=>{
  const preData = JSON.parse( pre );
  preData.codesData.forEach( entry => {
    CodesData.insert( entry );
  });
});
这使您可以更轻松地管理预填充,还可以根据需要对json进行版本控制(并且不会显示敏感数据)

注意事项:

每次启动时都会运行函数
Meteor.startup
。因此,您应该考虑如何避免不必要的插入/预填充,从而创建双倍。一个好方法是检查集合是否为空(请参见第一个示例)

您可以将启动代码放在另一个js文件中,以便将定义与启动例程分开

当前脚本不区分服务器和客户端。您应该考虑在服务器上执行此操作,并在其周围创建发布/订阅。 更多阅读资料:


您能详细说明一下如何预填充吗?和乘以相同的值?每次都有不同的值?除了
CodesData.insert
在循环中插入什么是这里的挑战?我想预先填充它,因此如果我启动我的网站,带有描述的代码已经在数据库中了。我是meteor的新手,我不知道该怎么做,代码也非常不同,不能在一个循环中完成。我想知道我是否可以通过命令行(cmd)来实现这一点。你能详细说明一下如何预填充吗?和乘以相同的值?每次都有不同的值?除了
CodesData.insert
在循环中插入什么是这里的挑战?我想预先填充它,因此如果我启动我的网站,带有描述的代码已经在数据库中了。我是meteor的新手,我不知道该怎么做,代码也非常不同,不能在一个循环中完成。我想知道我是否可以通过命令行(cmd)这样做。我得到的命令行不起作用,pre没有定义。我制作了一个pre.JSON文件,并将其放在与我的收藏相同的目录中_Codes.js:34未捕获引用错误:pre未定义=>const preData=JSON.parse(pre.JSON)请阅读有关如何在Meteor中导入JSON文件的链接。我只是提供了一个示意图方法。我犯了一个错误,忘记了“”代码:find().count()==0不起作用,它记录0,而数据库中已有元素。它不起作用,我得到的pre未定义。我制作了一个pre.JSON文件,并将其放在与我的收藏相同的目录中_Codes.js:34未捕获引用错误:pre未定义=>const preData=JSON.parse(pre.JSON)请阅读有关如何在Meteor中导入JSON文件的链接。我只是提供了一个示意图方法。我犯了一个错误,忘记了“”代码:find().count()==0不起作用,它记录0,而数据库中已经有元素