11000 E11000重复键错误索引:exampleDb.test。$ == null - 在Node Js中

时间:2014-10-23 03:09:49

标签: node.js mongodb

我正在从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字段的索引。但仍然是同样的问题。已阅读其他堆栈答案但没有用。请帮忙

1 个答案:

答案 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);

    });
}