我想填充我的CompoundJS應用程序的Mongo數據庫與種子文件,但每當我運行compound seed
,終端掛起後,我的console.log語句......數據庫填充,但我必須用Ctrl-c殺死命令。CompoundJS:填充數據庫與種子文件掛起
我試過做compound seed harvest
,但是這並沒有創建適當的種子文件,所以我決定自己做。這裏是我的各自的代碼:
DB /種子/開發/ 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);
});
});
DB/schema.js
var Host = describe('Host', function() {
property('hid', String);
property('name', String);
property('domain', String);
set('restPath', pathTo.hosts);
});
配置/數據庫.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。我想解決這個問題,因爲我必須使這個過程自動化,而且如果它只是掛起,它有點難以自動化。我究竟做錯了什麼?任何幫助,將不勝感激!
編輯
所以,當我嘗試使用這與compound seed harvest
產生的咖啡腳本版本:
DB /種子/開發/ Host.coffee
Host.seed ->
hid: '1'
name: 'MY API'
domain: 'mydomain.com'
id: "52571edd2ac9056339000001"
我得到錯誤集合名稱必須是字符串。所以我有點好奇,去了哪裏產生錯誤...在node_modules/jugglingdb-mongodb/node_modules/mongodb/lib/mongodb/collection.js在線103.我把console.log(collectionName)
就在這之前if聲明中,看到了一個有趣的輸出...
{ hid: '1',
name: 'MY API',
domain: 'mydomain.com',
id: NaN }
所以很明顯它不是一個字符串,而是一個哈希對象,和我收集的域名(主機)更是遙遙無期。對我來說就像一個錯誤。