mongodb字段类型转化
最近在使用mongoDB, 发现mongo对字段类型的定义并不是很严格,完全依赖传入数据的类型,在加上PHP是弱类型的语言,所以难免会出现一些错误。如果预想的类型是Int型,但数据存储的是String,那数据在根据Int型检索的时候,就完全失效了。如果发现某个字段在存储的时候出现了分歧怎么办?当然首先要修正程序在数据传入时候的错误,对于Int型一定要保证其类型的正确性。
example:
|
1
2
3
|
$user_arr = array ( 'uid' => intval ($_SESSION["user"]["id"]), //对于Int类型的数据,一定要保证其类型的正确性!); |
那如何修正当前已存在数据类型的不同呢?!
查询所有字段类型是String的数据,然后将String转为Int:
|
1
2
3
4
5
6
7
|
db.you_collection_name.find('uid' : { $type : 2 }).forEach( function(x) { x.uid = parseInt(x.uid) ; //将String转为Int db.you_collection_name.save(x); }) |
对于mongoDB字段类型的定义可参考:http://docs.mongodb.org/manual/reference/operator/type/#_S_type
转自http://www.wangwei.info/2013/07/mongodb-type-conversion/
mongodb字段类型转化的更多相关文章
- SpringBoot下实现MongoDB字段类型转换器
1 目的 MongoDB Java String LocalDateTime 2 实现 先定义实体类 @Data // lombok @Accessors(chain = true) @Documen ...
- Tapdata Cloud 2.1.2 来啦:大波细节已就绪!字段类型可批量修改、支持微信扫码登录、新增支持 Vika 为目标
Tapdata Cloud cloud.tapdata.net 让数据实时可用 Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持 Oracle.MySQL.PG.SQL Ser ...
- C#定义类型转化 及 格式化字符串
operator 关键字 operator 关键字用来重载内置运算符,或提供类/结构声明中的用户定义转换.它可以定义不同类型之间采用何种转化方式和转化的结果. operator用于定义类型转化时可采用 ...
- Asp.net 面向接口可扩展框架之类型转化基础服务
新框架正在逐步完善,可喜可贺的是基础服务部分初具模样了,给大家分享一下 由于基础服务涉及面太广,也没开发完,这篇只介绍其中的类型转化部分,命名为类型转化基础服务,其实就是基础服务模块的类型转化子模块 ...
- 《精通C#》自定义类型转化-扩展方法-匿名类型-指针类型(11.3-11.6)
1.类型转化在C#中有很多,常用的是int类型转string等,这些都有微软给我们定义好的,我们需要的时候直接调用就是了,这是值类型中的转化,有时候我们还会需要类类型(包括结构struct)的转化,还 ...
- delphi 类型转化
1.typecasting类型强制转化 var B : Boolean; Begin B := Boolean(1); End; 对于对象和接口,采用as操作符进行转化,但要先进行兼容性判断. 2.P ...
- 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
- SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理
原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是 ...
- ORACLE 当字段中有数据如何修改字段类型
创建视图的时候,因为表太多,里面一些字段类型不一样,PL/SQL报错,为‘表达式必须具有对应表达式相同的数据类型’,发现后,一个字段的类型为CLOB和VARCHAR2(4000)两种,将CLOB进行修 ...
随机推荐
- ECMAScript6 面向对象 时钟效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 关于Xcode6创建的工程在Xcode5打开
Xcode6创建的工程在Xcode5打开- 4.0只显示3.5大小的问题 只需要在工程里添加Default-568h@2x.png,即可以解决
- 最少clock
var elClock = document.getElementById("clock");var getTime = function(){ var _ = ['00','01 ...
- Eclipse 项目中有红色感叹号,怎么办?
/** * JDK1.5中增加了自动拆装箱的语言特性,在基本类型和包装类型之间可以相互地转换和运算. * 大家也都知道Java中==运算符是比较两个对象间的引用是否相同.在自动拆装箱与“==”运算符之 ...
- linux下如何使用sftp命令
sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性.下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作. 举例,如远程主机的 IP ...
- SQL表旋转
在制作报表的时候,有时候会碰到基础资料是依照时间区间去一笔一笔记录的资料,但是使用者在看报表的时候想要将时间区间以横向的方式呈现不是直向的情况出现,又或者基础资料的表数据结构是横向的而使用者在看报表的 ...
- [javascript|基本概念|Number
Number类型的值:整数/浮点数值 整数 十进制 e.g.: var intNum = 50; 八进制 (严格模式下无效,解析错误)字面值首位必须是0,之后的数字序列为0-7 e.g.: va ...
- SQL SERVER 字符串常用函数
在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数. 1.获取字符的ASCII码 ASCII ASCII码是对字符的标准编码.要获取字符的ASCII码就可以通过调用AS ...
- CSS中box-sizing属性的理解与部分用法
今天看了一些关于box-sizing的一些资料,在这里整理一下,希望也能对大家有所帮助. box-sizing是CSS的一个属性,很好的解决了盒模型的相关问题.CSS中的盒模型(Box model)分 ...
- Percona Server 5.6.33-79.0 发布
Percona Server 5.6.33-79.0 发布了,该版本基于 MySQL 5.6.33,包含了所有的 bug 修复,是Percona Server 5.6 系列中的正式版本.该版本主要是修 ...