无法使用Mongoose创建MongoDB数据库

时间:2016-12-14 18:00:10

标签: node.js mongodb express mongoose schema

我尝试使用npm Mongoose和Robomongo作为我的GUI在MongoDB中创建数据库。我在http://mongoosejs.com/docs/index.html跟踪了MongoDB快速入门文档,但数据库没有出现在Robomongo中。基本上,我只是想让数据库出现"当我通过Node运行server.js文件时,在Robomongo中。

当我输入以下代码时,从MongoDB快速入门文档中,在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);

但是... 当我将employeeid字段(下面)添加到Schema中时,数据库将出现在Robomongo中。 有人可以解释这两段代码之间的区别吗?为什么一个有效,另一个没有?

var kittySchema = mongoose.Schema({
    name: {type: String},
    employeeid:{
        type: Number,
        unique: true,
        required: true

    }
});

1 个答案:

答案 0 :(得分:1)

这是因为employeeid上有一个索引(来自unique,至少 - 可能required?不是100%肯定mongoose如何处理必填字段)。 Mongoose将自动创建在其上定义索引的集合。

否则,将在您对其进行“处理”之后创建该集合(例如创建Kitten并使用.save())。