Я пытаюсь создать базу данных в MongoDB, используя npm Mongoose и Robomongo в качестве моего графического интерфейса. Я следовал за MongoDB Quickstart Docs по адресу http://mongoosejs.com/docs/index.html, но база данных не отображается в Robomongo. В основном, я просто пытаюсь, чтобы база данных «появлялась» в Robomongo, когда я запускаю файл server.js через Node.Проблемы с созданием базы данных MongoDB с помощью Mongoose
Когда я ввожу код ниже, из документов Quickstart от 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 (ниже) в схеме, то база данных появляется в Robomongo. Может ли кто-нибудь объяснить разницу между этими двумя частями кода? Почему один работает, а другой нет?
var kittySchema = mongoose.Schema({
name: {type: String},
employeeid:{
type: Number,
unique: true,
required: true
}
});
Омг, вы правы, что сработали! Я использовал функцию .save() и, наконец, создал коллекцию в базе данных только с атрибутом name. Это не появилось, пока я не сдержался. Я серьезно потратил последние 3 часа, пытаясь понять это. Благодаря!! – mfkogan
Нет проблем - это немного неинтуитивно, но это так же, как и mongodb. Например, при использовании командной строки mongo вы можете переключиться на базу данных, выбрать ее, но эта база данных не будет существовать до тех пор, пока вы не вставите ее - несмотря на то, что вы ее выбрали. Там есть дополнительное чтение [здесь] (https://jira.mongodb.org/browse/SERVER-18313) в трекер-проблеме mongodb (см. Комментарии внизу). – dvlsg