googleRegistrationId":{$exists:true}},{"isGuest":"false"}]}(
如何在Perl中编写上述查询,请帮助。在perl上执行时,我得到了不同的结果
我在Perl中这样写过
my $Subscriber 2 = $Subscriber->find({'$and' =>[{dateOfJoin => {'$gt' => $date}},{registerFrom => { '$exists' => 'false'}},{googleRegistrationId => {'$exists' => 'true'}},{isGuest => 'false'}]}(->fields({ _id => 1,streamzCampaign => 1}(;
我没有得到与在 perl 中执行时相同的结果。如何在Perl中使用mongoDB的$exits,请帮忙。
我看到的两个可疑位是你引用了"真"和"假"——它们使这些字符串,而不是布尔值——我想知道你用什么$date
,因为你在你的 shell 示例中没有。
这是你写的,格式很好:
my $Subscriber2 = $Subscriber->find(
{
'$and' => [
{ dateOfJoining => { '$gt' => $date } },
{ registerFrom => { '$exists' => 'false' } },
{ googleRegistrationId => { '$exists' => 'true' } },
{ isGuest => 'false' }
]
}
)->fields( { _id => 1, streamzCampaigns => 1 } );
对于布尔值,您应该使用 boolean.pm 模块:
use boolean;
my $Subscriber2 = $Subscriber->find(
{
'$and' => [
{ dateOfJoining => { '$gt' => $date } },
{ registerFrom => { '$exists' => false } },
{ googleRegistrationId => { '$exists' => true } },
{ isGuest => false }
]
}
)->fields( { _id => 1, streamzCampaigns => 1 } );