python使用pymongo访问MongoDB的基本操作

  安装pymongo: pip install pymongo

from pymongo import MongoClient
import datetime
from pprint import pprint #连接
#client = MongoClient('localhost',27017)
client = MongoClient('mongodb://root:123@localhost:27017') #使用数据库
db = client['db1'] #查看数据库下所有的集合
print(db.collection_names(include_system_collections=False)) #创建集合
table_user = db['userinfo'] #插入文档
user0 = {
'id':1,
'name':'lary',
'birth':datetime.datetime.now(),
'age':10,
'hobbies':['music','read','dancing'],
'addr':{
'country':'China',
'city':'BJ'
}
}
user1 = {
'id':2,
'name':'lary1',
'birth':datetime.datetime.now(),
'age':10,
'hobbies':['music','read','dancing'],
'addr':{
'country':'China',
'city':'BJ'
}
} user2 = {
'id':3,
'name':'lary2',
'birth':datetime.datetime.now(),
'age':10,
'hobbies':['music','read','dancing'],
'addr':{
'country':'China',
'city':'BJ'
}
} #插入数据
# res = table_user.insert_many([user0,user1,user2]).inserted_ids
# print(table_user.count()) #查找数据
#pprint(table_user.find_one())
# for item in table_user.find():
# pprint(item) print(table_user.find_one({'id':{'$gte':1},'name':'lary'})) #更新数据
table_user.update({'id':1},{'name':'lary'}) #传入新的文档替换旧的文档
table_user.save(
{
'id':2,
'name':'lary_test'
}
)

MongoDB_pymongo的更多相关文章

随机推荐

  1. Linux思维导图之文本工具、正则

    习题巩固: 1,找出的ifconfig"网卡名"命令结果中本机的IPv4的地址 2,查出分区空间使用率的最大百分比值 3,查出用户UID最大值的用户名,UID及壳类型 4,查出的/ ...

  2. 程序包管理rpm和yum

    Linux程序包管理: API:Application Programming Interface源码包 POSIX:Portable OS 程序源代码 --> 预处理 --> 编译 -- ...

  3. qtp12版本下载安装破解教程

    下载链接:https://download.csdn.net/download/weixin_41479750/11240466 下面是安装教程: 解压完成之后,双击运行setup.exe 之后点击运 ...

  4. 只允许一个 <configSections> 元素。它必须是根 <configuration> 元素的第一个子元素- HTTP Error 500.19

    这还是我第一次遇到这个错误,以前都没太注意配置文件中元素的放置顺序.这次在调试一个ASP.NET MVC项目的时候,突然就爆出HTTP Error 500.19错误,提示无法访问请求的页面,因为该页的 ...

  5. mysql 7 种 join

    一. select * from A inner join B on A.key = B.key 二. select * from A left join B on A.key = B.key 三. ...

  6. Exchanger源代码剖析

    Exchanger是一个针对线程可以结对交换元素的同步器.每条线程把某个对象作为參数调用exchange方法,与伙伴线程进行匹配.然后再函数返回的时接收伙伴的对象.另外.Exchanger内部实现採用 ...

  7. 内核调试神器SystemTap — 简单介绍与使用(一)

    a linux trace/probe tool. 官网:https://sourceware.org/systemtap/ 简单介绍 SystemTap是我眼下所知的最强大的内核调试工具,有些家伙甚 ...

  8. 【cocos2d-x 3.7 飞机大战】 决战南海I (八) 背景移动

    採用双层背景.这样效果更好 .h class BackgroundMove : public Layer { public: BackgroundMove(); ~BackgroundMove(); ...

  9. 基于ArcGIS Flex API实现动态标绘(1.0)

    标绘作为一种数据展示形式,在多个行业都有需求. 基于ArcGIS Flex API(3.6)实现标绘API,当前版本号1.0 alpha,支持经常使用几种标绘符号,包含: 圆弧.曲线.圆形.椭圆.弓形 ...

  10. POJ2576 Tug of War 二维背包

    题目大意 一群人拔河,给出每个人的重量,要求两队人数之差不超过1人,且每队总重量之差最小. 思路 选出严格总人数一半(或+1)的人为一队,在该队重量不超过所有人总重量一半的情况下,使其重量最大. 人数 ...