MongoDB的简单操作

Posted q767498226

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB的简单操作相关的知识,希望对你有一定的参考价值。

一.  MongoDB的启动

  1. 启动MongoDB服务

    mongod --dbpath d:\data  # 数据库存放路径, 模式c:\data

    mongod --install        # 安装windows服务

    mongod --remove        # 卸载windows服务

  2. 客户端连接

    mongo

二. MongoDB的增删改查

  1. 增

    db.tablename.insertOne()      插入一条数据

    db.tablename.insertMany([, ])    插入多条数据

  2. 删

    db.tablename.deleteOne()      删除符合条件的第一条数据

    db.tablename.deleteMany()       删除符合条件的所有数据

  3. 改

    db.tablename.updateOne(, "$set": )  修改符合第一个参数条件的第一条数据, 改为第二个参数内容

    db.tablename.updateMany(, "$set: ")  修改符合第一个参数条件的所有数据, 改为第二个参数内容

  4. 查

    db.tablename.findOne()        查询符合条件的第一条数据

    db.tablename.find()          查询符合条件的所有数据

三. MongoDB的数据类型 

  ObjectId :Documents 自动生成的 _id

  _id:ObjectId("5cb69a23815ea7295f8bad43") 自动生成的 json数据中不包含ObjectId类型 id类型uuid

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

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

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

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

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

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

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

  Timestamp: 时间戳 通常不用这个数据类型 如果存储时间 Double

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

四. MongoDB的$关键字

  1. 数学比较符(gt, lt, ne...)

    db.tablename.find("age" : "$gt": 50)    年龄大于50的

  2. 查询关键字(in, or, and, all)

    db.tablename.find("age": "$in": [10, 20])        年龄为10或者20的

    db.tablename.find("$or": ["age": 10, "name": "xxx"])  年龄为10或者名字为xxx的

    db.tablename.find("hobby": "$all": ["x", "xx"])      查询子集

  3. $关键字的特殊用法

    db.tablename.updateOne(hobby:"娟儿",$set:"hobby.$":"小圈儿")  存储符合条件元素的下标索引

五. 修改器 

$set    -  强制替换覆盖

  $set:name:123

$unset   - 强制删除字段

  $unset:name:1

$inc     - 引用增加, 原有数值基础上增加 1

  $inc:age:1

 

$push append 在array中追加

  db.users.update(name:"AlexDSB",$push:hobby:"特斯垃圾")

$pushAll extend 在array中追加列表中的所有元素

  db.users.update(name:"AlexDSB",$pushAll:hobby:["22寸轮毂","V8","欧林斯"])

$pull remove 在array中删除一个元素

  db.users.update(name:"AlexDSB",$pull: hobby:"V8")

$pullAll 在array中删除一堆元素

  db.users.update(name:"AlexDSB",$pullAll: hobby:["小敏","芙蓉姐姐"])

$pop pop 删除第一个 -1 或最后一个 1 的值

  db.users.update(name:"AlexDSB",$pop: hobby:1)

六. 查询结果的显示

  1. sort排序

    db.tablename.find().sort("_id": -1)

  2. skip跳过, 跳过几条数据再显示

    db.tablename.find().skip(num)

  3. limit限制, 限制几条数据

    db.tablename.find().limit(num)

  4. 优先级,分页

    先排序, 再跳过, 最后限制

    db.tablename.find().sotr(_id:-1).limit(num).skip((page-1)*num)

七. pymongo模块的使用

  1. 导入模块

    from pymongo import MongoClient

  2. 创建一个客户端对象

    mc = MongoClient()    # 默认host=localhost, port=27017

  3. 指定库

    db = mc["databasename"]

  4. 操作库

    db.tablename.find()

以上是关于MongoDB的简单操作的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB简单操作

C#简单操作MongoDB

MongoDB- 简单操作命令

MongoDB的简单操作

MongoDB 简单的操作

java操作mongoDB数据库的简单实例