MongoDB 基础操作

前言

一、MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成

二、三元素:数据库,集合(相当于数据库中的表),文档(就是表中的单条数据)组成

三、BJSON是Mongodb的数据存储格式(选择json的目的是为了通用性)

BJSON介绍

1.json的不足:数据存储没有类型,只有字符,在json中要跳过一个文档进行数据读取,需要对此文档进行扫描,还要进行数据结构匹配。

2.改进:BJSON是可以指定数据类型的,BJSON会将每一个元素的长度存在元素的头部,这样读取到元素的长度就可以到指定的元素里面去进行获取了。

一句话:Bjson操作更简易了,更快的遍历速度,提高效率!

1.增

db.表名.insert({键:值}) 传单个对象,也可以用于传集合使用 []符号,进行包裹即可(代码仅做格式参考)

db.user.insert([{ 
    "_id" : NumberInt(16), 
    "study" : true, 
    "type" : "site", 
    "username" : "sushaomeng", 
    "email" : "777@qq.com", 
    "password" : "c04b6e3a4b3621f2ba84503fb918975b80294c80", 
    "passsalt" : "k9qzdaicc7d", 
    "role" : "admin", 
    "add_time" : NumberInt(1575987272), 
    "up_time" : NumberInt(1575990047), 
    "__v" : NumberInt(0)
},{ 
    "_id" : NumberInt(17), 
    "study" : true, 
    "type" : "site", 
    "username" : "shiyuanqing", 
    "email" : "6222@qq.com", 
    "password" : "c04b6e3a4b3621f2ba84503fb918975b80294c80", 
    "passsalt" : "k9qzdaicc7d", 
    "role" : "admin", 
    "add_time" : NumberInt(1575987272), 
    "up_time" : NumberInt(1575990047), 
    "__v" : NumberInt(0)
}])

2.删

1.db.dropDatabase()  //删除当前的数据库

2.db.表名.drop()  // 删除表的集合
 
3.db.表名.remove({"":值})  //将当前表 键值对应的文档数据,进行删除

4..db.表名.remove({"age":100,{junstOne:true}})  //删除最前面一条age:100的数据

3.改

1. db.表名.update({"键1":“值1”},{$set:{"键1":"值2"}}) //把条件为键1的值改为键1为值2的值,此方法只能修改最上面的一条数据

2. db.表名.update({"键1":“值1”},{$set:{"键1":"值2"}},{multi:true}) //加{multi:true}后,那么修改的就是所有的满足该条件的

4.查

1.db.表名.find()  //查询出表的所有数据

2.db.students.find({"":值})//通过条件查询(精准匹配,不是模糊查询)

3.db.students.find({"键1":值,"键2"""})//多选项匹配(精准匹配,不是模糊查询)

4.db.students.find({"键1":{$gt:值}})//$gt大于符号验证字符串则按长度判断(例如是:"su",则会匹配"su1","su2",像这样三位字符的,只有"su",则不会匹配,如果是数字直接进行比较即可)

5. //$lt 小于符号,$or 两个或两个以上条件只要满足其中之一即可 

6.db.students.find.sort({"键1":-1,"键2"1})//排序,按照键1降序排如果键1相同,按照键2升序排 。-1代表降序、1代表升序

5.总结

  这些都是Mongodb基本的的语法,让大家能够在这里简单了解mongodb操作数据的语法,希望能够帮助到热爱编程的朋友,有不足之处,还望指出!

原文地址:https://www.cnblogs.com/XiangZiPeng/p/12107222.html