Perl MongoDB插入错误消息

时间:2012-04-29 11:37:50

标签: perl mongodb

我有以下数据库,这是数据库中已有的对象

{ "_id" : ObjectId("001"), "password" : "test", "user" : "test"}

添加到该集合的东西

1.index over user and password

2.独特的用户指数

当我尝试将相同的参数插入项目

my $enter = $db->data->insert({'user'=>'test','password'=>'test'});

$ enter返回ObjectID的值(如果用户重复,则应该获得错误消息而不是Objectid)

通过mongo shell

E11000重复键错误索引:dataofitem.user

显示错误,但是当我尝试通过Perl模块(https://metacpan.org/module/MongoDB

它作为对象id返回,我想知道为什么我没有错误消息而不是Objectid

1 个答案:

答案 0 :(得分:5)

MongoDB :: Collection :: insert不会检查错误。

尝试

my $enter = $db->data->insert({'user'=>'test','password'=>'test'}, {safe => 1});

使模块失败。这在MongoDB::Collection

中有记录

如果您想检查错误,也可以

my $error = $db->last_error();

记录在案here