CompoundJS アプリケーションの Mongo データベースにシード ファイルを設定しようとしていますが、実行するたびにcompound seed
、console.log ステートメントの後で端末がハングします... データベースがいっぱいになり、Ctrl-c でコマンドを強制終了する必要があります。
やってみましcompound seed harvest
たが、適切なシードファイルが作成されないため、自分で作成することにしました。これが私のそれぞれのコードです:
db/seeds/development/Host.js (シード ファイル)
console.log("Seeding Hosts....");
var hosts = [
{
hid: '1',
name: 'MY API',
domain: 'mydomain.com'
}
];
hosts.forEach(function(obj, err){
Host.create(obj, function(err, host){
console.log('host Added: ', host);
});
});
デシベル/schema.js
var Host = describe('Host', function () {
property('hid', String);
property('name', String);
property('domain', String);
set('restPath', pathTo.hosts);
});
config/database.js
module.exports = {
development: {
driver: 'mongodb',
url: 'mongodb://localhost/apicache-dev'
},
test: {
driver: 'mongodb',
url: 'mongodb://localhost/apicache-test'
},
production: {
driver: 'mongodb',
url: 'mongodb://localhost/apicache-production'
}
};
私が言ったように、実行するcompound seed
と両方の console.log ステートメントが表示され、データがデータベースに入れられますが、ハングするだけです...実際にはコマンドラインに戻らないため、Ctrlで強制終了する必要があります-c。このプロセスを自動化する必要があるため、この問題を解決したいと思います。ハングしているだけでは自動化は少し難しいです。私は何を間違っていますか?どんな助けでも大歓迎です!
編集
したがって、から生成された Coffee スクリプト バージョンを使用しようとすると、次のようになりますcompound seed harvest
。
デシベル/シード/開発/Host.coffee
Host.seed ->
hid: '1'
name: 'MY API'
domain: 'mydomain.com'
id: "52571edd2ac9056339000001"
エラーコレクション名は String でなければなりません。だから私は少し興味があり、そのエラーが生成された場所に行きました... 103 行目の node_modules/jugglingdb-mongodb/node_modules/mongodb/lib/mongodb/collection.jsconsole.log(collectionName)
で。その if ステートメントの前に右を置き、見ました興味深い出力...
{ hid: '1',
name: 'MY API',
domain: 'mydomain.com',
id: NaN }
明らかに文字列ではなくハッシュ オブジェクトであり、コレクションの名前 ( Host ) はどこにも見えません。私にはバグのようです。