所以我安装了这个插件
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。这样,您无需编写种子代码,而只需编写种子数据。并且它支持智能参考。

10-01 03:20
查看更多