我试图在此时向集合中插入信息获取错误,如下所示:
错误:
[01:17:33.480] "Error :MongoError: E11000 duplicate key error index: meteor.Dcare_user.$UserId_1 dup key: { : null }"
Collection.js:
Dcare_User = new Meteor.Collection("dcare_user");
Js代码:
var doc = Dcare_User.insert({
userid : UserId,
firstname : fname,
lastname : lname,
dob : dob,
address : address,
phoneno : phno,
city : city,
state : state,
country : country,
zipcode : zipcode,
ssn : ssn,
roletype : permissions,
isactive : isactive,
}, function( error, result) {
if ( error ) console.log ( "Error :"+error.reason ); //info about what went wrong
if ( result ) {
console.log ( "result="+result );//the _id of new object if successful
}
});
我是meteor的新手。所以我对此一无所知。所以请帮助我。
答案 0 :(得分:2)
此错误表示:
Dcare_user.UserId
上有唯一索引。Dcare_user
集合中存在UserId
等于null
的文档。UserId
等于null
。看起来在您未使用的字段上创建了唯一索引。
您需要删除数据库并重新开始,或者保留数据库并删除索引。以下解决方案假设这是由流星环境为您创建的开发数据库:
如果您希望删除数据库并重新开始,可以从应用程序的根目录在终端中键入以下内容(当流量 不运行时):
$ meteor reset
如果您希望删除索引并保留数据,可以通过在应用程序的根目录中键入以下内容连接到mongo shell(当流量 正在运行时):
$ meteor mongo
进入shell后,可以使用以下命令删除索引:
> db.Dcare_user.dropIndex({UserId:1});