Я пытаюсь заполнить базу данных Mongo приложения CompoundJS с помощью файлов семян, но всякий раз, когда я запускаю compound seed
, терминал зависает после моих операторов console.log ... база данных заполняется, но я нужно убить команду с помощью Ctrl-c.CompoundJS: Заполнение базы данных с помощью файла семени зависает
Я пробовал делать compound seed harvest
, но это не создает правильные файлы семян, поэтому я решил сделать свой собственный. Вот мой соответствующий код:
дб/семена/разработка/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);
});
конфигурации/базы данных .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. Я хотел бы решить эту проблему, поскольку мне приходится автоматизировать этот процесс, и это немного сложно автоматизировать, если он просто висит. Что я делаю не так? Любая помощь будет оценена!
EDIT
Так что, когда я пытаюсь использовать версию сценария кофе, который генерируется из compound seed harvest
:
дб/семена/разработка/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)
прямо перед этим, если заявление и увидел интересный вывод ...
{ hid: '1',
name: 'MY API',
domain: 'mydomain.com',
id: NaN }
Итак, ясно, что это не строка, а объект хэша, и имя моей коллекции (хоста) нигде не видно. Кажется, это ошибка.