使用pymongo 来接数据库
连接mongodb
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from pymongo import MongoClient
conn = MongoClient('192.168.0.113', 27017)
db = conn.mydb #连接mydb数据库,没有则自动创建
my_set = db.test_set #使用test_set集合,没有则自动创建
插入数据(insert插入一个列表多条数据不用遍历,效率高, save需要遍历列表,一个个插入)
my_set.insert({
"name":"zhangsan","age":18})
#或
my_set.save({
"name":"zhangsan","age":18})
插入多条
#添加多条数据到集合中
users=[{
"name":"zhangsan","age":18},{
"name":"lisi","age":20}]
my_set.insert(users) # insert 已经过时了,推荐使用 insert_one 或者 insert_many 来进行插入操作
#或
my_set.save(users)
查询数据(查询不到则返回None)
#查询全部
# 使用find 返回的是一个coursor对象, 可以使用for循环进行遍历得出具体的结果
还可以使用 coursor.next() 逐步的获取下一个对象
for i in my_set.find():
print(i)
#查询name=zhangsan的
for i in my_set.find({
"name":"zhangsan"}):
print(i)
print(my_set.find_one({
"name":"zhangsan"})) # find_one 返回的是一个具体的对象
更新数据
my_set.update(
<query>, #查询条件
<update>, #update的对象和一些更新的操作符
{
upsert: <boolean>, #如果不存在update的记录,是否插入
multi: <boolean>, #可选,mongodb 默认是false,只更新找到的第一条记录
writeConcern: <document> #可选,抛出异常的级别。
}
)
把上面插入的数据内的age改为20
my_set.update({
"name":"zhangsan"},{
'$set':{
"age":20}})
删除数据
my_set.remove(
<query>, #(可选)删除的文档的条件
{
justOne: <boolean>, #(可选)如果设为 true 或 1,则只删除一个文档
writeConcern: <d