MongoDB的使用

1、double类型减法问题:

56.1 - 40 = 16.1;无误差

66.1 - 40 = 26.099999999999994;有误差

出现以上情况,是因为double类型相减会转换成二进制,16位存储小数位不够,因此会出现误差

2、MongoDB学习

首先安装好MongoDB和robo 3T(MongoDB图形界面)

1)MongoDB是一种nosql的非关系型数据库

 MongoDB与mysql:MongoDB中的要素:数据库,集合,文档;mysql:数据库,表,行。MongoDB中的集合对应mysql的表,文档对应行。

2)创建集合:db.createCollection("mydata")

3)插入文档:

    db.mydata.insert({

        id:"1",

        name:"yk"

        sex:"F",

        age:22

    })

4)更新文档:

db.mydata.update({

    <query>,

    <update>,

    {

        upsert:<boolean>,

        multi:<boolean>

    }

})

参数说明:

query:update的查询条件,与sql语句where后面的类似

update:update的对象和一些更新的操作符,与set类似

upsert:可选参数,如果不存在,是否插入,默认为false

multi:可选参数,只更新第一条记录,如果为true,则更新所有查询出来的记录,默认为false

示例:更新一条记录:db.update( {name:"yk"} , {$set:{age:20}} )

          更新所有查询出来的记录:db.update( {name:"yk"} , {$set:{age:20}} , {multi:true} )

5)删除文档:db.mydate.remove( <query>,{<justOne>} )

query:可选,删除文档的条件

justOne:可选,如果为true或1,则只删除一个文档

示例:db.mydate.remove( {name:"yk"} )

6)查询文档:db.mydata.find().pretty():查询文档:pretty():以格式化的方式显示文档

    db.mydata.find( {name:"yk" , age:22} ).pertty()

MongoDB的or条件

db.mydate.find( {

    $or:[

            {key1:value1} , {key2:value2}

        ]

} )

示例:db.mydate.find( {$or:[ {name:"yk"} , {sex:"F"} ]} ).pertty()

And与Or联合使用:类似sql:where age>18 and (name="yk" or sex="F")

db.mydata.find( {age:{$gt:18} , $or:[{name:"yk"} , {sex:"F"}]} ).pertty()

7)条件操作符

< : $lt

> : $gt

= : $eq

!= : $ne

<= : $lte

>= : $gte

< > : $lt $gt :使用示例:db.mydata.find( {age : {$lt : 30, $gt : 10 }} ).pertty()

8)$type操作符

MongoDB中的数据类型:

类型            数字

Double         1

String           2

Object          3

Array            4

Object id      7

Boolean        8

Date              9

Null              10

查询age为double类型的数据:db.mydata.find({age : {$type : 1}})

查询name为String类型的数据:db.mydata.find({name : {$type : 2}})

9)排序:升序:1;降序:-1

db.mydata.find({"name" : {$type : 2}}).sort({age : -1})

标注:文章摘自菜鸟教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值