2016-08-07 4 views
1

У меня получилось сообщение об успехе, без создания документа.Mongoose save fail без ошибок

var mongoose = require('mongoose'); 
mongoose.Promise = global.Promise; 

var conn = mongoose.createConnection(mongodb://localhost:27017/social_media); 
var testModel = conn.model('test', new mongoose.Schema({ 
    key: { type: String, required: true } 
})); 
var test = new testModel(); 
test.key = 'hello'; 
test.save().then(function(tmp) { 
    console.log('success'); 
    console.log(tmp); 
}).catch(function() { 
    console.log('failure'); 
}); 

В результате я получаю сообщение «Успех» консоли с созданным объектом - так, как я полагаю, документ должен быть успешно вставлен. В момент запуска кода базы данных и коллекции не существует. После запуска кода создается только db.

Я попытался изменить 'createConnection' на 'connect' без каких-либо результатов.

Я уже проверил множество подобных ответов, но до сих пор не могу найти решение.

Я использую MongoDB v3.2.8, node.js MongoDbDriver v2.2.5 и Mongoose v4.5.8

+0

Какую команду вы используете, чтобы проверить, был ли документ создан? – JohnnyHK

+0

Я использую GUI Robomongo. Раньше у меня не было проблем с этой программой, поэтому, как правило, я думаю, что это показывает хорошее состояние db. – kkochanski

+0

@JohnnyHK, черт возьми, ты дал мне правильный путь. Это проблема с графическим интерфейсом. Пока я перечисляю документы с помощью оболочки, я их получил. Вы можете добавить ответ, а затем я его приму. – kkochanski

ответ

0

Неисправность была в используемом графическом интерфейсе. Я использовал RoboMongo v0.8.5 и MongoDb v.3.2.8. Проблема в том, что RoboMongo в этой версии не поддерживает используемую версию MongoDb. Полная поддержка для mongo 3.x, появилась с RoboMongo v.0.9.0 - http://blog.robomongo.org/robomongo-rc1-with-full-support-for-mongodb-3/