我正在从Node中循环编写MongoDB中的记录。
节点代码
for (i=1;i<10;i++) { fninsertDocument('title'+i) }
function fninsertDocument (data){
collection.insert({title:data}, {w: 1}, function (err, result) {
assert.equal(err, null);
assert.equal(1, result.length)
});
}
写完第一条记录后,它会抛出错误。
&#34; 11000 E11000重复键错误索引:exampleDb.test。$ == null&#34;
我在mongo shell中创建了title字段的索引。但仍然是同样的问题。已阅读其他堆栈答案但没有用。请帮忙
答案 0 :(得分:0)
我解决了这个问题。
在插入数据之前,我做了stingify并再次解析数据。这就解决了问题! 但是不确切地知道究竟是什么原因!
function fninsertDocument(data){ 试试{
console.log(data.id+data.Title) //delete
**var tmp = JSON.parse(JSON.stringify(data))**
collection.insert(tmp, {w: 1}, function (err, result) {
assert.equal(err, null);
assert.equal(1, result.length)
// console.log(result);
});
}