所以我安装了这个插件
https://www.npmjs.com/package/mongoose-seeder
它在子目录中带有猫鼬,因此我删除了该目录,因为在node_modules中已经有猫鼬,并且在删除之前它给了我错误。该应用程序运行没有错误,但是myappname-dev数据库中未创建任何内容。
按照说明,在/ config中创建了一个基本的json文件(data.json),供mongoose-seeder解析:
{
"categories": {
"_model": "Category",
"title": "Cat1"
}
}
在server.js中:
var init = require('./config/init')(),
config = require('./config/config'),
mongoose = require('mongoose'),
chalk = require('chalk');
var seeder = require('mongoose-seeder'),
data = require('./config/data.json');
// Bootstrap db connection
var db = mongoose.connect(config.db, function(err) {
if (err) {
console.error(chalk.red('Could not connect to MongoDB!'));
console.log(chalk.red(err));
}
seeder.seed(data, function(err, dbData) { });
});
类别模型:
'use strict';
/**
* Module dependencies.
*/
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
/**
* Category Schema
*/
var CategorySchema = new Schema({
title: {
type: String,
default: 'Untitled'
}
});
mongoose.model('Category', CategorySchema);
我使用的是meanjs项目模板,通常来说,我是MEAN的新手,并且很难弄清楚如何播种初始数据。我注意到的另一件奇怪的事是,当我在默认的meanjs应用中创建新用户时,它们似乎不在myappname-dev数据库的users集合中。
最佳答案
您好,请改用Seedgoose。这样,您无需编写种子代码,而只需编写种子数据。并且它支持智能参考。