mongoシェルでは、ユーザーのコレクションは表示されません。私がdb.users.find()
と入力すると、私のコレクションは表示されません。どちらかのコレクションを表示しようとすると、それは存在しません。 (例えばcreate()
)、その機能を呼び出すときに、マングースモデルにコールバックを通過しない場合はマングースでコレクションが作成されない
var mongoose = require('mongoose');
module.exports = function(config) {
mongoose.connect(config.db);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error'));
db.once('open', function callback() {
console.log('db opened');
});
var userSchema = mongoose.Schema({
firstName: String,
lastName: String,
userName: String
});
var User = mongoose.model('User', userSchema);
User.find({}).exec(function(error, collection) {
if (collection.length === 0) {
User.create({firstName: Zo, lastName: Keane, userName: Zkeane});
User.create({firstName: Pop, lastName: Mean, userName: Pop});
User.create({firstName: Joe, lastName: Animal, userName: Joe});
}
});
};
あなたはコレクション名が正しいことを確認するために、データベースのすべてのコレクションを列挙しましたか? –
私のmongoが適切に動作しているかどうかを確認するためにシェルで作成したコレクションが1つだけあります。私はwebstormで作業しているので、mongoエクスプローラで見ることができますが、この1つではありません。 – nakedFool
[** 'create()' **](http://mongoosejs.com/docs/api.html#model_Model.create)メソッド非同期で、なぜあなたはそれを同期的に呼びますか? – chridam