因此,mongo会在代码11000或11001上抛出错误消息,如下所示:
{ [MongoError: E11000 duplicate key error index: mean-dev.users.$username_1 dup key: { : "asdasd" }]
name: 'MongoError',
err: 'E11000 duplicate key error index: mean-dev.users.$username_1 dup key: { : "asdasd" }',
code: 11000,
n: 0,
connectionId: 718,
ok: 1 }
现在,我正在解析错误消息以检索哪个字段有重复键,这非常脏。即:我不想测试不同索引(多键,复合等)上的各种重复错误,看看这个解析器是否仍然有效。
我可以使用Node中的任何帮助程序,让我可以强有力地检索此类错误的违规字段?
答案 0 :(得分:0)
如果要查看索引的实际键,而不是解析不可靠的字符串,可以像这样查询system.indexes集合:
db.collection('system.indexes').findOne({ ns: 'mean-dev.users', name: 'username_1' }, cb);
这应该导致包含密钥对象的文档,列出构成该索引键的所有字段名称,例如:
{
v: 1,
ns: 'mean-dev.users',
name: 'username_1',
key: {
username: 1
}
}