Вам нужно использовать метод .aggregate()
.
db.getCollection('example').aggregate([ { "$project": { "_id": 0, "id": "$_id" } } ]);
Что дает:
{ "id" : ObjectId("562a67745488a8d831ce2e35") }
или с использованием свойства .str
.
db.getCollection('example').find({"example":1},{"_id":1}).map(function(doc) {
return {'id': doc._id.str }
})
Что возвращает:
[ { "id" : "562a67745488a8d831ce2e35" } ]
Хорошо, если вы используете драйвер PHP, вы можете сделать что-то вроде этого:
$connection = new MongoClient();
$db = $connection->test;
$col = $db->example;
$cursor = $col->find([], ["_id" => 1]);
foreach($cursor as $doc) { print_r(array("id" => $doc["_id"])); }
Какой дает:
Array
(
[id] => MongoId Object
(
[$id] => 562a6c60f850734c0c8b4567
)
)
Или снова использовать метод MongoCollection::aggregate
.
$result = $col->aggregate(array(["$project" => ["id" => "$_id", "_id" => 0]]))
Затем, используя цикл foreach
:
Array
(
[_id] => MongoId Object
(
[$id] => 562a6c60f850734c0c8b4567
)
)
Следующий код, кажется, работает.
В html я заменяю это:
xhr.onload = function() {
window.location.replace("http://MyPage.php");
};
на это:
xhr.onload = function() {
if (xhr.readyState == 4 && xhr.status==200) {
window.location.replace(xhr.responseText);
}
};
И в signin.php
if ($Test==true) {
echo "http://www.example.com/TheGoodPage.html";
}
else {
echo "http://www.example.com/TheUnAuthorizedPage.html";
}