use MongoDB;
my $dbClient = MongoDB::MongoClient->new();
my $db = $dbClient->get_database('exp_new');
my $rsvnCollection = $db->get_collection('reservations');
my $rsvnDB = $rsvnCollection->find({parent_id => {'$exists' => 1}});
my $explanation = $rsvnDB->explain;
my $num = $rsvnDB->count;
的解釋是給我的MongoDB :: Cursor對象在Perl返回重複記錄
$VAR1 = {
'nscannedObjectsAllPlans' => 45824,
'n' => 33459,
和$ NUM返回相同。
,我試圖訪問這樣
while (my $record = $rsvnDB->next) {
這是給我重複記錄的記錄,而環比的不是在解釋返回的記錄數量更多的運行。
我在做什麼有什麼不對嗎?任何想法爲什麼它給重複的記錄?
感謝 拉吉
取樣記錄:
> db.reservations.findOne({parent_id: {$exists : 1}})
{
"_id" : 428,
"created_user" : "george",
"status" : NumberLong(2),
"topologies" : [ ],
"parent_id" : 428,
"end_time" : ISODate("2012-08-25T01:45:00Z"),
"reserved_ports" : {
"bangalore" : [
"eth 12/1",
"eth 12/10",
]
},
"repeatInfo" : {
"recurrEndType" : "Occurrences",
"recurrType" : "Daily",
"recurrValue" : NumberLong(9)
},
"created_time" : ISODate("2012-08-24T00:16:34Z"),
"name" : "George",
"start_time" : ISODate("2012-08-24T16:20:01Z"),
"deleted" : "0",
"task" : "ACTIVATION",
"modified" : "0",
"devices" : [
"bangalore"
],
"updated_time" : ISODate("2012-08-30T01:44:55Z"),
"ports" : [ ],
"updated_user" : "George",
"reserved_devices" : [
"bangalore"
],
"topology_details" : [ ]
}
>
你的文件是什麼樣的。你可以用集合中的幾個示例文檔進行編輯。也可以嘗試從mongo shell進行比較。但是你在做什麼很簡單。 –