mongoDB
pycharm连接mongo
# 导入pymongo包
import pymongo
# 连接数据库。host连接的域名,port连接端口。
# 除此之外还可以直接将地址传进去
db = pymongo.MongoClient(host='127.0.0.1',port='27017')
# 进入text数据库
text = db.text / text = db['text']
# 进入fast数据表
fast = text.fast /fast = text['fast']
查
# 将所有的数据变成一个生成器,可以使用for循环展示出来
fast.find()
# 将所有名字为zhangsan的数据提出来,生成一个生成器。
fast.find({'name':'zhangsan'})
# 找到第一个符合条件的,并返回出去
fast.find_one({})
# 找到第一个名字为zhangsan的数据,返回出去,然后将对应的年龄改为18
fast.find_one_and_update({'name':'zhangsan'},{'$set':{'age':18}})
# 找到并返回一个名字为zhangsan的数据,然后将{'name':'zhangsan'}替换为{'age':18}
fast.find_one_and_replace({'name':'zhangsan'},{'age':18})
# 找到并返回一个名字为zhangsan的数据,然后删除这条数据
fast.find_one_and_delete({'name':'zhangsan'})
增
# 增加一条数据
fast.insert_one({'name': 'kkk', 'age': 20})
# 增加多条数据,用中括号括起来
fast.insert_many([{'name': 'kkk', 'age': 20},{'name': 'jjj', 'age': 20}])
改
# 将第一个名字为zhangsan的数据,改为lisi
fast.update_one({'name':'zhangsan'},{'$set':{'name':'lisi'}})
# 将所有年龄满足大于20小于等于30的数据,将名字改为lisi
fast.update_many({'age':{'$gt':20,'$lte':30}},{'$set':{'name':'lisi'}})
删
# 删除第一个名字为zhangsan的
fast.delete_one({'name':'zhangsan'})
# 删除所有年龄大于等于20,小于等于25的数据
fast.delete_many({'age':{'$gte':20,'$lte':25}})
mongoDB其他限定符号
# $gt ------- greater than >
# $gte ------ greater than equal>=
# $lt ------ less than <
# $lte ------ lt equal <=
# $ne ------- not equal !=
# $eq ------- equal =
# $in ------- in
# $nin ------ not in
fast.find({'age':{'$in':[20,25]}}) # 找到在20-25内的年龄的数据
fast.find({'age':{'$gte':25,'$lt':30}}) # 找到年龄[25,30)之间的数据
fast.find({'sex':{'$exists':True}}) # 找到存在sex属性的数据
#$type 类型查找
# Double 1
# String 2
# Object 3
# Array 4 (数组队列)
# Binary data 5
# Object id 7
# boolean 8
# Date 9
# Null 10
# Timestamp 16
fast.find({"age":{'$type':2}}) #查找age类型为String的数据