我必须在Mongo中找到一种“_id”,我可以使用Mongo
shell来实现,而且我不能使用Perl API.
我正在努力(mongo shell):
./mongo use my_db db.my_collection.find({_id : ObjectId("4d2a0fae9e0a3b4b32f70000")})
它工作!(返回),但我不能使用Perl API,
$mongo->my_db->my_collection(find({_id => "ObjectId(4d2a0fae9e0a3b4b32f70000"}));
不起作用,因为“ObjectId”不是字符串,但如果你这样做,
./mongo use my_db db.my_collection.find({_id : "ObjectId(4d2a0fae9e0a3b4b32f70000)"})
也不行,我猜Perl API正在做它^
现在,我必须知道我是如何做到的:
db.my_collection.find({_id : ObjectId("4d2a0fae9e0a3b4b32f70000")})
使用Perl API.
解决方法
实施似乎发生了变化.
$mongo->my_db->my_collection( find({ _id => MongoDB::OID->new(value => "4d2a0fae9e0a3b4b32f70000")}) );