perl mongodb复杂结构更新
我有这样的结构:perl mongodb复杂结构更新,perl,mongodb,Perl,Mongodb,我有这样的结构: { "user" => "xxxx", "position" => { "A1" => { "state" => 'It', region=>"LOM" etc etc..}, "A2" => { .... }, "A3" => { .... }, .... "An" => { .. } } } 插入就可以了。但是更新返回此错误: not a reference
{
"user" => "xxxx",
"position" =>
{
"A1" => { "state" => 'It', region=>"LOM" etc etc..},
"A2" => { .... },
"A3" => { .... },
....
"An" => { .. }
}
}
插入就可以了。但是更新返回此错误:
not a reference at /usr/local/lib/perl/5.12.4/MongoDB/Collection.pm line 376
我的更新是:
$tbl->update({
{ _id => MongoDB::OID->new(value => "$id") },
{ '$set' =>
{
"position" =>
{
"A1" => { "state" => "En" }
}
}
}
});
我哪里错了?
太棒了 我检查更新源的语法 语法更新
更新(\%标准、\%对象、\%选项?)
内部MongoDB::收集方法更新
sub update {
my ($self, $query, $object, $opts) = @_;
...
}
但只传递1个参数
$tbl->update(
{ # 1st anonymous hash
{ _id => MongoDB::OID->new(value => "$id") },
{ '$set' => {
"position" => {
"A1" => { "state" => "En" }
}
}
}
});
因此,我建议您使用传递给方法更新的参数来解决问题。$tbl->update({u id=>MongoDB::OID->new(value=>“$id”)},{'$set'=>{“position”=>{“A1”=>{“state”=>“En”}}});谢谢所以这是正确的!;)