server.js には次の内容があります:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
そして、このようなモデルは正常に動作します!:
var userSchema = new Schema({
firstName: { type: String, trim: true, required: true },
lastName: {type: String, trim: true, required: true},
cellPhoneNumber : {type: Number, unique: true},
email: { type: String, unique: true, lowercase: true, trim: true },
password: String
});
下記のような動作しない別のモデルもあります。
var jobSchema = new Schema({
category: {type: Number, required: true},
title: {type: String, required: true},
tags: [String],
longDesc: String,
startedDate: Date,
views: Number,
report: Boolean,
reportCounter: Number,
status: String,
poster: String,
lastModifiedInDate: Date,
verified: Boolean
});
2つの変数は次のとおりです。
var User = mongoose.model('User', userSchema);
var Job = mongoose.model('Job', jobSchema);
-- server.js が mongod に接続された後、mongod はエラーをログに記録しません。2 番目のモデルの何が問題なのか知っている人はいますか?
ベストアンサー1
理由は、mongoose は起動時にインデックスを含むコレクションのみを自動作成するためです。User コレクションには一意のインデックスがありますが、Job コレクションにはそれがありません。今日、私も同じ問題に遭遇しました。
// example code to test
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
mongoose.model('Test', {
author: {
type: String,
index: true
}
});