Home >Backend Development >PHP Tutorial >mongodb - 为什么php往mongo里插入整型数字8,变成了numberint(8)?

mongodb - 为什么php往mongo里插入整型数字8,变成了numberint(8)?

WBOY
WBOYOriginal
2016-06-06 20:06:561789browse

php通过mongo驱动里的update方法给一个整型数组(数组是这样的,list:[1,3,4])插入数据时,插入8,变成了numberlong(8)。
把8转换为驱动里定义的两个类:mongoint32和mongoint64也不对,此时显示的是numberint(8),numberlong(8)。
在mongo shell里面插入就没有问题,是8。
谢谢啦。

回复内容:

php通过mongo驱动里的update方法给一个整型数组(数组是这样的,list:[1,3,4])插入数据时,插入8,变成了numberlong(8)。
把8转换为驱动里定义的两个类:mongoint32和mongoint64也不对,此时显示的是numberint(8),numberlong(8)。
在mongo shell里面插入就没有问题,是8。
谢谢啦。

不太清楚你到底需要什么类型的数据

插入整型数字8,变成NumberInt(8)不是正常的吗?

在mongo shell里,数字默认是double类型的

$type — MongoDB Manual 3.2

比如插入数字8, 你可以通过查找num为double类型(即$type为1)的文档,找到test_doc

<code>db.collection_example.insert({_id: 'test_doc', num: 8})
db.collection_example.find({num: {$type: 1}})</code>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn