でキーエラーコレクションを複製、私はそれがなく、次のものがまたMongoError:E11000はパスポート
{ [MongoError: E11000 duplicate key error collection: KManV3.users
index: username_1 dup key: { : null }]
name: 'MongoError',
message: 'E11000 duplicate key error collection: KManV3.users index:
username_1 dup key: { : null }',
driver: true,
code: 11000,
index: 0,
errmsg: 'E11000 duplicate key error collection: KManV3.users index:
username_1 dup key: { : null }',
getOperation: [Function],
toJSON: [Function],
toString: [Function]
}
、DBNAMEを与えるべきであるとして、コレクション内の最初のエントリが発生し、次のuserSchema
var mongoose = require("mongoose"),
passportLocalMongoose = require("passport-local-mongoose");
var userSchema = new mongoose.Schema({
email: String,
password: String,
userName: String,
fname: String,
lname: String,
userType: Number,
subscribedThreads: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Threads"
}
]
});
// add passport methods
userSchema.plugin(passportLocalMongoose);
// export modules to be used by the file requiring it
module.exports = mongoose.model("Users",userSchema);
を持っています.users.getIndexes()は:
> db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "KManV3.users"
},
{
"v" : 1,
"key" : {
"password" : 1
},
"name" : "password_1",
"ns" : "KManV3.users",
"background" : true
},
{
"v" : 1,
"unique" : true,
"key" : {
"username" : 1
},
"name" : "username_1",
"ns" : "KManV3.users",
"background" : true
}
]
明らかに、スキーマのすべてのプロパティが一意に設定されているため、データが完全に異なる場合でもコレクションにデータを追加することはできません。私はそれがパスポートの統合によるものかどうか分からない。 passport-local-mongoose
ためoptionsを見てみると
最初に質問を確認してください。すべての詳細を追加して何も空のままにしてもエラーが表示されます。だから、私はそれが "duplicate thread"のような重複した値のために引き起こされていないと確信しています –
一意の制約はしたくありませんでしたか? nullを含むANYプロパティ値を別のドキュメントと共有する場合、ドキュメントは一意ではないとみなされます。 – Trent