gpt4 book ai didi

Perl Mongo 查找对象 ID

转载 作者:可可西里 更新时间:2023-11-01 09:24:44 26 4
gpt4 key购买 nike

你会认为这是一件简单的事情。我有一个我收藏中的对象 ID 列表。我想根据对象 ID 获取一条记录。用谷歌搜索,但没有任何帮助。

所以我有对象 ID:5106c7703abc120a04070b34

my $client = MongoDB::MongoClient->new;
my $db = $client->get_database( 'myDatabase' );

my $id_find = $db->get_collection('mycollection')->find({},{_id => MongoDB::OID->new(value => "5106c7703abc120a04070b34")});

print Dumper $id_find;

这打印:

$VAR1 = bless( {
'_skip' => 0,
'_ns' => 'MindCrowd_test.Users',
'_grrrr' => 0,
'partial' => 0,
'_query' => {},
'_tailable' => 0,
'_client' => bless( {
'w' => 1,
'query_timeout' => 30000,
'find_master' => 0,
'_servers' => {},
'sasl' => 0,
'wtimeout' => 1000,
'j' => 0,
'timeout' => 20000,
'sasl_mechanism' => 'GSSAPI',
'auto_connect' => 1,
'auto_reconnect' => 1,
'db_name' => 'admin',
'ssl' => 0,
'ts' => 0,
'inflate_dbrefs' => 1,
'port' => 27017,
'host' => 'mongodb://localhost:27017',
'dt_type' => 'DateTime',
'max_bson_size' => 16777216
}, 'MongoDB::MongoClient' ),
'_limit' => 0,
'slave_okay' => 0,
'_request_id' => 0,
'immortal' => 0,
'started_iterating' => 0
}, 'MongoDB::Cursor' );

我已经尝试了上述发现的不同版本。所有这些都无法编译:

$mongo->my_db->my_collection(find({_id => "ObjectId(4d2a0fae9e0a3b4b32f70000"}));

$mongo->my_db->my_collection(

find({ _id => MongoDB::OID->new(value => "4d2a0fae9e0a3b4b32f70000")}));

它们都不起作用。如何使用对象 ID 查找 (findone) 单个记录??

最佳答案

查找方法返回一个 Cursor 对象用于迭代。如果您只想要一条记录,请使用返回值的 find_one 方法。

my $client = MongoDB::MongoClient->new;
my $db = $client->get_database( 'myDatabase' );

my $id_find = $db->get_collection('mycollection')->find_one({_id => MongoDB::OID->new(value => "5106c7703abc120a04070b34")});

print Dumper $id_find;

关于Perl Mongo 查找对象 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21709609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com