用猫鼬创建mongoDB数据库遇到困难



我正在尝试使用NPM Mongoose和Robomongo作为我的GUI在MongoDB中创建数据库。我关注了MongoDB QuickStart文档,网址为http://mongoosejs.com/docs/index.html,但数据库并未出现在Robomongo中。基本上,我只是想在我通过node运行server.js文件时将数据库"出现"。

当我从mongodb Quickstart文档中输入代码时,没有创建/出现在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);

但是...当我将员工字段(下图)添加到模式中时,数据库将出现在Robomongo中。有人可以解释这两个代码之间的区别吗?为什么一个工作,另一个不起作用?

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

这是因为employeeid上有一个索引(至少来自unique,也许也可能是required?不是100%确定在Mongoose手柄上如何需要字段)。Mongoose将自动创建在其上定义索引的集合。

否则,将在您"执行"某件事之后创建集合(例如创建Kitten并使用.save() wiht)。

相关内容

最新更新