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