如何为 PHP 中的每个查询编码 MongoDB
How to code MongoDB foreach Query in PHP
如何为 PHP 中的每个查询编写 MongoDB 代码?
现在我必须用 iterator_to_array[=32= 在 PHP 中编写相同的 MONGODB QUERY ], 我不知道如何让这个查询在 PHP.
中执行
现在我陷入了困境。
我已经用一些例子给出了我的数据。
已使用 MONGO 查询:
db.getCollection('DRUM').find({'CODE': 'XXYYZZYY'}).forEach(
function(doc)
{
print(doc.COLLECTION.DAY);
});
实际数据库记录:
{
"CODE" : "XXYYZZYY",
"COLLECTION" : {
"DAY" : {
"2017-06-05" : {
"id" : 565455
},
"2017-06-15" : {
"id" : 565445
}
},
"MONTHLY" : {
"2017-06-01" : {
"id" : 564444
},
"2017-05-01" : {
"id" : 565455
}
}
},
"success" : true
}
预期输出:
{
"CODE" : "XXYYZZYY",
"COLLECTION" : {
"DAY" : {
"2017-06-05" : {
"id" : 565455
},
"2017-06-15" : {
"id" : 565445
}
}
},
"success" : true
}
您不能直接从 php 执行相同的查询。您必须先从 mongo 中获取记录,然后遍历该结果。
这是我的代码,与 PHP7 mongodb 驱动程序相同。
//connection object
$connection = new \MongoDB\Driver\Manager("mongodb://127.0.0.1:27017");
$filter = ['CODE' => 'XXYYZZYY'];
$projection['projection'] = ["COLLECTION.DAY" => 1,"CODE" => 1];
$query = new \MongoDB\Driver\Query($filter,$projection);
$cursor = $connection->executeQuery('DB_NAME.DRUM', $query);
foreach($cursor as $key => $row) {
print_r($row); //your expected output
}
如何为 PHP 中的每个查询编写 MongoDB 代码?
现在我必须用 iterator_to_array[=32= 在 PHP 中编写相同的 MONGODB QUERY ], 我不知道如何让这个查询在 PHP.
中执行现在我陷入了困境。 我已经用一些例子给出了我的数据。
已使用 MONGO 查询:
db.getCollection('DRUM').find({'CODE': 'XXYYZZYY'}).forEach(
function(doc)
{
print(doc.COLLECTION.DAY);
});
实际数据库记录:
{
"CODE" : "XXYYZZYY",
"COLLECTION" : {
"DAY" : {
"2017-06-05" : {
"id" : 565455
},
"2017-06-15" : {
"id" : 565445
}
},
"MONTHLY" : {
"2017-06-01" : {
"id" : 564444
},
"2017-05-01" : {
"id" : 565455
}
}
},
"success" : true
}
预期输出:
{
"CODE" : "XXYYZZYY",
"COLLECTION" : {
"DAY" : {
"2017-06-05" : {
"id" : 565455
},
"2017-06-15" : {
"id" : 565445
}
}
},
"success" : true
}
您不能直接从 php 执行相同的查询。您必须先从 mongo 中获取记录,然后遍历该结果。
这是我的代码,与 PHP7 mongodb 驱动程序相同。
//connection object
$connection = new \MongoDB\Driver\Manager("mongodb://127.0.0.1:27017");
$filter = ['CODE' => 'XXYYZZYY'];
$projection['projection'] = ["COLLECTION.DAY" => 1,"CODE" => 1];
$query = new \MongoDB\Driver\Query($filter,$projection);
$cursor = $connection->executeQuery('DB_NAME.DRUM', $query);
foreach($cursor as $key => $row) {
print_r($row); //your expected output
}