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的简单操作的主要内容,如果未能解决你的问题,请参考以下文章