0
我想在MongoDB中使用npm Mongoose和Robomongo作爲我的GUI創建一個數據庫。我遵循了http://mongoosejs.com/docs/index.html的MongoDB快速入門文檔,但該數據庫並未出現在Robomongo中。基本上,我只是想通過Node運行server.js文件時讓數據庫「出現」在Robomongo中。麻煩創建MongoDB的MongoDB數據庫
當我從MongoDB Quickstart Docs中輸入下面的代碼時,Robomongo中沒有創建/顯示任何數據庫。
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
// we're connected!
});
var kittySchema = mongoose.Schema({
name: String
});
var Kitten = mongoose.model('Kitten', kittySchema);
但是...... 當我在僱員id字段(如下圖)添加到架構,則數據庫會出現在Robomongo。 有人可以解釋這兩段代碼之間的區別嗎?爲什麼一個人工作,另一個不工作?
var kittySchema = mongoose.Schema({
name: {type: String},
employeeid:{
type: Number,
unique: true,
required: true
}
});
Omg你是對的工作!我使用了.save()函數,並最終在數據庫中使用name屬性創建了集合。它直到我保存下來纔出現。我認真地花了最後3個小時試圖弄清楚這一點。謝謝!! – mfkogan
沒問題 - 這有點不直觀,但它也是mongodb處理它的方式。例如,當使用mongo命令行時,您可以切換到數據庫,並選擇該數據庫,但該數據庫在插入之前不會存在 - 儘管您已選擇該數據庫。在mongodb問題跟蹤器中有一些額外的閱讀(這裏是https://jira.mongodb.org/browse/SERVER-18313)(請參閱底部的註釋)。 – dvlsg