zoukankan      html  css  js  c++  java
  • Mongodb一览

    由于最近在学习python爬虫,之前会将数据存储在mySQL中,但是在网上看见的一些教程、文章都是基于mongodb做的存储对象,所以快速的入门下mongodb!

    mongodb基本概念

    • mongodb将数据存储为一个文档,数据结构由键值对组成
    • mongodb文档类属于Json对象,字段值可以包含其他文档、数组、文档数组

    使用mongodb

    数据库的操作
     
     
     
    3
    3
     
     
     
    1
    show dbs             # 查看所有数据库
    2
    use 数据库名称        # 切换数据库
    3
    db.dropDatabase()    # 删除数据库
     
     
    集合的操作
     
     
     
    3
    3
     
     
     
    1
    db.createCollection(name, options)            # 创建集合
    2
    show collectons                               # 查看集合
    3
    db.集合名称.drop()                             # 删除集合
     
     
    数据的操作
    数据类型
     
    String 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
    Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
    Boolean 布尔值。用于存储布尔值(真/假)。
    Double 双精度浮点值。用于存储浮点值。
    Min/Max keys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
    Array 用于将数组或列表或多个值存储为一个键。
    Timestamp 时间戳。记录文档修改或添加的具体时间。
    Object 用于内嵌文档。
    Null 用于创建空值。
    Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
    Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
    Object ID 对象 ID。用于创建文档的 ID。
    Binary Data 二进制数据。用于存储二进制数据。
    Code 代码类型。用于在文档中存储 JavaScript 代码。
    Regular expression 正则表达式类型。用于存储正则表达式。
    ObjectId

    ObjectId 类似唯一主键,可以很快的去生成和排序,包含 12 bytes,含义是:

    • 前 4 个字节表示创建 unix 时间戳,格林尼治时间 UTC 时间,比北京时间晚了 8 个小时
    • 接下来的 3 个字节是机器标识码
    • 紧接的两个字节由进程 id 组成 PID
    • 最后三个字节是随机数

    MongoDB 中存储的文档必须有一个 _id 键。这个键的值可以是任何类型的,默认是个 ObjectId 对象

    由于 ObjectId 中保存了创建的时间戳,所以你不需要为你的文档保存时间戳字段,你可以通过 getTimestamp 函数来获取文档的创建时间:

    >var newObject =ObjectId()> newObject.getTimestamp()ISODate("2017-11-25T07:21:10Z")

    ObjectId 转为字符串

    > newObject.str
    5a1919e63df83ce79df8b38f
    插入
     
     
     
    1
     
     
     
     
     
    1
    db.集合名称.insert(documnet)
    2
    
    
    3
    eg:
    4
    db.stu.insert({name: "pontoon", gender: "men"})        # 连集合带数据一起创建了
     
     
    查看
     
     
     
    1
     
     
     
     
    1
    db.集合名称.find()
     
     
    更新
     
     
     
    x
     
     
     
     
     
    1
    db.集合名称.update(
    2
        {要修改的数据},
    3
        {改成什么},
    4
        {multi:true/false}    # 修改多行时要加入
    5
    )
    6
    
    
    7
    db.stu.update({}, {$set: {name: 'pontoontan'}})    # 修改一行数据,且不损坏本身的数据结构
    8
    
    
     
     
    删除
     
     
     
    1
     
     
     
     
     
    1
    db.集合名称.remove({name: 'pontoontan'}, {justOne: true})
    2
    
    
    3
    db.stu.remove({})            # 全部删除
     
     
    ok,今天先到这里
     
     
  • 相关阅读:
    dotnet core 获取 MacAddress 地址方法
    dotnet core 获取 MacAddress 地址方法
    dotnet core 发布只带必要的依赖文件
    dotnet core 发布只带必要的依赖文件
    Developing Universal Windows Apps 开发UWA应用 问答
    Developing Universal Windows Apps 开发UWA应用 问答
    cmd 如何跨驱动器移动文件夹
    cmd 如何跨驱动器移动文件夹
    C++ 驱动开发 error LNK2019
    C++ 驱动开发 error LNK2019
  • 原文地址:https://www.cnblogs.com/pontoon/p/10274879.html
Copyright © 2011-2022 走看看