Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MongoDB导出浮动\u id_Php_Mongodb - Fatal编程技术网

Php MongoDB导出浮动\u id

Php MongoDB导出浮动\u id,php,mongodb,Php,Mongodb,我刚开始使用mongoDB,有一些问题。 第一个: 我已将csv文件导入MongoDB 当我尝试在mongo cli中查找数据时,我得到的id如下所示: db.test.find({}, {_id: 1}).limit(5); { "_id" : NumberLong("724756511264022954") } { "_id" : NumberLong("7925523805856237974") } { "_id" : NumberLong("3278364823767039230") }

我刚开始使用mongoDB,有一些问题。
第一个:
我已将csv文件导入MongoDB
当我尝试在mongo cli中查找数据时,我得到的id如下所示:

db.test.find({}, {_id: 1}).limit(5);
{ "_id" : NumberLong("724756511264022954") }
{ "_id" : NumberLong("7925523805856237974") }
{ "_id" : NumberLong("3278364823767039230") }
{ "_id" : 12477933649175871000 }
{ "_id" : 9648786610610065000 }
但是,PHP,

返回以下内容:

72475651126402954
7925523805856237974
3278364823767039230
1.2477934649176E+19
9.6487866106101E+18

echo sprintf("%u", ($document['_id'])) . "\n";
返回错误的结果

72475651126402954
7925523805856237974
3278364823767039230
12477933649175871488
9648786610610065408

echo sprintf("%u", ($document['_id'])) . "\n";
如何返回完整的整数结果? 也许,有任何方法可以将所有ID转换为ObjectId


BYW:mongoexport返回带有E+19的结果

这是正确的。您的一些值是
NumberLong
,但其他未显示的值实际上是作为BSON类型的
Double
,从技术上讲,这当然是一个浮点值。如果期望不同,则需要将其他值重新编码为
NumberLong
(基于64位整数)。当然,您不能只使用
\u id
,因此您需要删除文档并重写它们。按设计工作,没错。您的一些值是
NumberLong
,但其他未显示的值实际上是作为BSON类型的
Double
,从技术上讲,这当然是一个浮点值。如果期望不同,则需要将其他值重新编码为
NumberLong
(基于64位整数)。当然,您不能只使用
\u id
,因此您需要删除文档并重写它们。按设计工作。