如何使用PHP“ mongodb”扩展名从MongoDB获取原始BSON

问题描述 投票:1回答:1

我正在尝试使用PHP从mongodb获取二进制BSON字符串,但我不知道如何将文档作为BSON来获取。它总是首先将其解析为PHP对象。

我已经尝试在光标上设置typeMap,但是所有要做的就是将已经解析的PHP对象传递给类中的bsonSerialize($object)函数。

代码看起来像这样:

<?php

$db = new \MongoDB\Driver\Manager('mongodb://localhost/test');
$query = new \MongoDB\Driver\Query([]);
$cursor = $db->executeQuery("test.contacts", $query);

foreach($cursor as $document) {
    // $document is already parsed to a PHP stdObject
}
php mongodb bson
1个回答
0
投票

在最新的MongoDB版本(自3.6起)中,文档作为响应的一部分返回,并且整个响应被序列化为BSON。意思是,驱动程序在收到响应时必须对整个响应进行BSON反序列化,然后将部分响应作为找到的文档提供给应用程序。

没有时间驱动程序仅将文档序列化为BSON。

因此,如果需要将单个文档序列化为BSON,则需要您自己进行。

© www.soinside.com 2019 - 2024. All rights reserved.