MongoDB,pymongo
MongoDB:
数据库,nosql
[{
id:1
name:"蔡文姬"
age: 16
gender:"女"
},
{
id:1
name:"蔡文姬"
age: 16
sex:["女","girl","老阿姨"]
other:{
hobby:["男","boy","小哥哥"]
}
}] *使用了不存在的对象即创建该对象
*不存在关系链接 插入:
db.users.insert({name:"蔡文姬",age:16}) # 建议不要使用 不推荐使用
查询:
db.users.find()
更新:
db.users.update({"name":"蔡文姬"},{$set:{"age":18}})# 建议不要使用 不推荐使用
删除:
db.users.remove({"age":21}) # 建议不要使用 不推荐使用 table Collections 表
row Documents 数据条目
column Field 字段 MongoDB数据类型:
Object ID :Documents 自生成的 _id 并且 不支持转换成JSON字符串
?:{"_id" : ObjectId("5bda5293c6c72e52ffc7e91e")}
ObjectId:"5bda5293c6c72e52ffc7e91e"
0-8字节是时间戳,
9-14字节的机器标识符,表示MongoDB实例所在机器的不同;
15-18字节的进程id,表示相同机器的不同MongoDB进程。
19-24字节是计数器 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类型,时间戳可以秒杀一切时间类型) 增删改查的支持方式:
insert:
db.users.insertMany([{"name":"金王吧"},{"name":"egon"}])
db.users.insertOne({"name":"刘sir"}) remove:
db.users.deleteOne({"age":30})
db.users.deleteMany({"age":30}) update:
db.users.updateOne({},{$set: {"cursors":"FullStack"}})
db.users.updateMany({},{$set: {"cursors":"FullStack"}}) find:
db.users.find({})
db.users.findOne({}) 数学比较符:
$lt: <
$lte: <=
$gt: >
$gte: >=
$eq;==
: : == or = $:
存储满足条件的数据下标索引位置
db.users.updateOne({"other.name":"linux","name":"银网吧"},{$set:{"other.$.score":19}}) 弊端:[
[1,2,3],
[{k:{zk:zv}},{k2:v2},{k3:v3}],
[4,5,6],
] $关键字 查询:
$or : db.users.find({$or:[{age:18},{name:"银网吧"}]}) $and : , $in : db.users.find({age:{$in:[18,84,73]}}) $all : db.users.find({hobby:{$all:[1,2,3,4,5,6]}}) $修改器 update:
$set: 直接将字段的值设定为value
$unset: 删除字段
$inc: 原值增加 db.users.updateMany({name:"金王吧"},{$inc: {cursors: 1}}) $array修改器:
$push : append(item) db.users.updateMany({name:"金王吧"},{$push: {hobby:10}})
$pull : remove(item) db.users.updateMany({name:"金王吧"},{$pull: {hobby:10}})
$pop : pop() db.users.updateMany({name:"金王吧"},{$pop: {hobby:-1}}) 1最后一个 -1第一个 skip limit sort limit : db.users.find({}).limit(2) 显示条目数量
skip : db.users.find({}).skip(1) 跳过条目数量 简单分页 :db.users.find({}).limit(每页条目).skip(当前页码*每页条目)
sort :db.users.find({}).sort({ age:1 }) 1:ASC -1:DESC 分页排序多重用法:
db.users.find({}).sort({ age:-1 }).limit(2).skip(2)
pymongo
import pymongo mongo = pymongo.MongoClient("127.0.0.1",27017)
MONGODB = mongo["SS2DAY04"] 查:
result = list(MONGODB.users.find({}))
for item in result:
print(item)
print(result) result_one = MONGODB.users.find_one({})
print(result_one,type(result_one))
print(result_one.get("_id"),type(result_one.get("_id"))) 增:
res = MONGODB.student.insert_one({"name":"yd","nickname":"wl"})
print(res.inserted_id,type(res.inserted_id))
res = MONGODB.student.insert_many([{"name":"yd","nickname":"wl"},{"name":"wpq","nickname":"cb"},{"name":"lj","nickname":"dsb"}])
print(res.inserted_ids) 删:
MONGODB.student.remove({})
MONGODB.student.delete_one({"name":"yd"})
MONGODB.student.delete_many({"name":"yd"}) 改:
MONGODB.student.update({"name":"yd"})
MONGODB.student.update_one({"name":"wpq"},{"$set":{"nickname":"peppa pig"}})
MONGODB.student.update_many({},{"$set":{"age":84}}) 删:
MONGODB.student.delete_many({}) # 值删除所有数据
MONGODB.student.drop() # 删除表 分页:
res = MONGODB.users.find({}).sort("age",pymongo.ASCENDING).limit(2).skip(0)
for i in res:
print(i)
MongoDB,pymongo的更多相关文章
- [mongoDB]PyMongo Cursor Not Found Error
Python跑一个aggregate脚本,报错:pymongo.errors.CursorNotFound: Cursor not found, cursor id: 35411720832 搜了下原 ...
- MongoDB pymongo模块
安装pymongo模块 pip install pymongo 连接mongodb代码,生成pymongo对象,传入连接服务器相关参数 ip 端口 如果使用指定的账户登录,设置要登录的账户和密码,然后 ...
- Python操作MongoDB(PyMongo模块的使用)
#!/usr/bin/env python #coding:utf-8 # Author: --<qingfengkuyu> # Purpose: MongoDB的使用 # Creat ...
- python操作mongoDB(pymongo的使用)
pymongo操作手册 连接数据库 方法一(推荐) import pymongo client = pymongo.MongoClient(host="localhost",por ...
- MongoDB pymongo模块 删除数据
使用user集合,删除user集合的数据 import pymongo mongo_client = pymongo.MongoClient( host='192.168.0.112', port=2 ...
- MongoDB pymongo模块 查询
查询 mongo_db 类似于 服务器命令行的db 我们可以db.user.find() 查询 find() 需要加上列表 import pymongo mongo_client = pymongo. ...
- MongoDB pymongo模块 插入数据
insert_one(): 对一张不存在表插入数据,他会在插入数据同时自动生成数据表, 例如我要对chat集合插入数据,插入一个空数据 import pymongo mongo_client = py ...
- MongoDB pymongo模块 更新数据
现在chat集合里有3条数据 import pymongo mongo_client = pymongo.MongoClient( host='192.168.0.112', port=27017, ...
- mongodb pymongo.errors.CursorNotFound: Cursor not found, cursor id: 82792803897
默认 mongo server维护连接的时间窗口是十分钟 默认 单次从 server获取数据是101条或者 大于1M小于16M的数据 所以默认情况下,如果10分钟内未能处理完数据,则抛出该异常. 解决 ...
随机推荐
- linux学习记录.2.hello world.c
安装vim,指令: sudo apt-get install vim 建立一个子目录WorkSpace,指令 mkdir WorkSpace 转到该目录下,指令 cd WorkSpace 新建c文件, ...
- Tensorflow常用函数说明(一)
首先最开始应该清楚一个知识,最外面的那个[ [ [ ]]]括号代表第一维,对应维度数字0,第二个对应1,多维时最后一个对应数字-1:因为后面有用到 1 矩阵变换 tf.shape(Tensor) 返回 ...
- webgote的例子(5)Sql注入(Blog)
SQL Injection - Stored (Blog) (本章内容):留言板的注入 看到这个页面先看以下这个页面是做什么的.进行正常的写入发现我每写一句话,其内容都会写到下面的entry里面 在尝 ...
- iOS通知中心
iOS通知中心 它是iOS程序内部的一种消息广播机制,通过它,可以实现无引用关系的对象之间的通信.通知中心他是基于观察者模式,它只能进行程序内部通信,不能跨应用程序进程通信. 当通知中心接受到消息后会 ...
- java基础12 抽象类(及关键字:abstract)
抽象类:abstract 1.应用的场景 我们描述一类事物时,存在着某种行为,但这种行为目前不具体,那么我们就可以抽取这种行为的声明,但是不去实现这种行为,我们就需要使用抽象类. 2.抽象的好处 强制 ...
- Linux下如何创建新用户
Linux下如何创建新用户 Linux系统中,只有root用户有创建其他用户的权限.创建过程如下: useradd -d /home/newuser newuser(设定了该用户的主目录和用户名) ...
- 半小时分组统计个数sql
group by 最后一个时间是多少按多少分组 select count(1), trunc(a.refund_insert_time, 'hh24') + case when to_char(ref ...
- 推荐一个数据相关的网站tushare
推荐一个网站:tushare 使用方法如下: pip install tushare 我是使用pycharm直接安装的 抓取了浦发和光大的股票数据,并通过csv进行保存,和通过plt进行图片打印 im ...
- CentOS6.9下安装MariaDB10.2.11
yum groupinstall -y "Development Tools" yum install -y cmake openssl-devel zlib-devel yum ...
- Eolinker——前置用例返回的reponse值进行传递
如下补充均是Eolinker的文档中未说明的部分 示例:将login接口reponse中的mobile的值作为参数,传递给”重置密码”的请求体“code" 1.打开”前置用例“,先点击左上角 ...