集腋成裘-14-MongoDB系列-01初识MongoDB

粗知拙见:将数据通过类似json的形式存储于文档中。

 安装只需要选择对应的文件夹即可,注意位置D:\software\MongoDB\

1:配置环境变量并检验是否安装成功(mongod -help)

 

2:启动数据库服务

创建一个批处理文件,mongoDB.bat 其语法为 

mongod --dbpath 路径 (mongod --dbpath D:\software\MongoDB\DATA)

或者,直接运行以上命令(本机是配置了环境变量)

3:启动数据客户端

创建一个批处理文件,mongoClient.bat 其语法为 

mongo 地址+端口/用户名  (mongo 127.0.0.1:27017/admin)

或者,直接运行以上命令(本机是配置了环境变量)

mongo 127.0.0.1:27017/admin 

1:use+数据库名(use Aaron)
如果没有则创建,如果有就转到指定数据库。
2:show dbs (展示所有数据库)
新创建的数据库可能没有,需要插入一条数据
3:db.数据库名.insert({"key":"Value"})
4:数据库的删除,先切换到指定数据库
db.dropDatabase()
01 数据库的创建与删除
1:增
     方式一:插入文档数据时候,如果集合不存在会自动创建
                db.集合名称.insert({"key":"Value"})
     方式二:创建文档
     db.createCollection(name,options)           
2: 删
    db.集合名称.drop()
3:查
    show collections
    show tables
集合(表)的增删查

options 中的参数

capped:是否创建固定集合,如果是,需要设置Size大小。一旦数据超过这个大小后,会自动覆盖历史数据。

autoIndexId:自动在id字段创建索引

size:为固定集合指定一个最大值

max:集合中包含文档最大数

示例:db.createCollection("Student",{capped:true,autoIndexId:true,size:1024000,max:1000}) 

1:增
    方式一:直接新增一个文档
    db.集合名.insert({"key":value})
    方式二:先定义一个文档,再插入
    document(
       {"key":value}
    )
    db.集合名.insert(document)
2:删
    db.集合名.remove(
        {条件},
        {
            justOne:是否只删除第一条
        }
    )
    一键毁所有
    db.集合名.remove(}
    
3:改
   db.集合名.update(
        {条件:类似where},
        {$set:{字段}},
        {
            upsert:update+insert如果不存在,则插入,默认false,不插入
            multi:默认false,只更新第一条。如果为true,全部更新
            writeConcern:
        }
   )
   db.集合名.save(
        {文档},
        {
            writeConcern:
        }
   )
4:查
    db.集合名.find({条件})
    db.集合名.findOne({条件})
文档 增删改查

1:条件查询
等于                             {"key":"Value"}            where key = 'Value'
不等于(noequal)                 {"key":{$ne:Value}}       where key != Value
大于(greater than)                 {"key":{$gt:Value}}       where key > Value
大于等于(greater than equal)     {"key":{$gte:Value}}       where key >= Value
小于(less than)                 {"key":{$lt:Value}}       where key < Value
小于等于(less than equal)         {"key":{$lte:Value}}       where key <= Value
2:模糊查询
包含                             {"key":/Value/}             where key like '%Value%'
开头                             {"key":/^Value/}         where key like 'Value%'
结尾                             {"key":/Value$/}         where key like '^Value'
条件查询

修改器名称            语法                            备注            
$set                {$set:{field:value}}            指定一个字段,存在则修改,否则新增
$inc                {$inc:{field:value}}            指定一个数值类型字段,对其进行增加、减少
$unset                {$unset:{field:1}}                删除一个键值对
$push                {$push:{field:value}}            指定一个数组类型字段,存在则插入(如果是非数组类型报错),否则新增
$addToSet            {$addToSet:{field:value}}        指定一个数组类型字段的值,存在则不操作,否则新增
$pop                {$pop:{field:1}}                删除一个数组类型字段的某个值(1:最后一个,-1:第一个)
$pull                {$pull:{field:1}}                删除一个数组类型字段的指定值
6. $addToSet与$each结合完成批量数组更新
db.Student.update({"id":2012094016},{$addToSet:{books:{$each:["C#","java","db","java"]}}})
          
修改器

 4:数据类型

Object  ID :Documents 自生成的 _id

Object ID:

  每个文档都有一个属性,为_id保证文档的唯一性;

  可以自己去设置_id插入文档

  如果自己没设置,mongoDB为每个文档提供一个独特的_id ,是一个12字节十六进制数

      前4个字节为当前时间戳

      接下来的3个字节为机器ID

      接下来2个字节为mongo的服务进程ID

      最后3个是简单的增量值
Object ID

String: 字符串,必须是utf-8

Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)

Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)

Double:浮点数 (没有float类型,所有小数都是Double)

Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)

Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典

Null:空数据类型 , 一个特殊的概念,None Null

Timestamp:时间戳

Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)

posted @ 2019-06-07 10:05  逍遥小天狼  阅读(162)  评论(0编辑  收藏  举报