输入banner图图片脚本导航/分类

python操作MongoDB

pymongo #连接 MongoDB client=pymongo.MongoClient(host=‘localhost‘,port=27017) #第二种连接方式 #client=pymongo.MongoClient(‘mongodb://localhost:27017/‘) #指定数据库 db=client.test #第二种指定方式 #db=client[‘test‘] #指定集合 collection=db.students #collection=db[‘students‘] #插入数据 student={ ‘id‘:‘201812121‘, ‘name‘:‘ltf‘, ‘age‘:‘21‘, ‘gender‘:‘male‘ } result=collection.insert(student) print(result) student1={ ‘id‘:‘201812122‘, ‘name‘:‘lsq‘, ‘age‘:‘21‘, ‘gender‘:‘female‘ } student2={ ‘id‘:‘201812123‘, ‘name‘:‘lhw‘, ‘age‘:‘20‘, ‘gender‘:‘male‘ } result1=collection.insert([student1,student2]) print(result1) student3={ ‘id‘:‘201812124‘, ‘name‘:‘bz‘, ‘age‘:‘21‘, ‘gender‘:‘female‘ } student4={ ‘id‘:‘201812125‘, ‘name‘:‘zn‘, ‘age‘:‘20‘, ‘gender‘:‘male‘ } result2=collection.insert_many([student3,student4]) print(result2) print(result2.inserted_ids) #查询数据 result3=collection.find_one({‘name‘:‘ltf‘}) print(type(result3)) print(result3)

 

接下来就是数据库查询操作,主要有find_one和find方法,

import pymongo

#连接 MongoDB
client=pymongo.MongoClient(host=‘localhost‘,port=27017)
#指定数据库
db=client.test
#指定集合
collection=db.students

#查询数据
result=collection.find_one({‘name‘:‘ltf‘})
print(type(result))
print(result)

#查询多条数据
results=collection.find({‘age‘:‘20‘})
print(results)
for result in results:
    print(result)

print(‘====‘*20)
#查询年龄大于20
resultss=collection.find({‘age‘:{‘$gt‘:‘20‘}})
for result1 in resultss:
    print(result1)

print(‘====‘*20)
#正则匹配查询
results=collection.find({‘name‘:{‘$regex‘:‘^ltf.*‘}})
for result in results:
    print(result)
#属性是否存在
results=collection.find({‘name‘:{‘$exists‘:True}})
for result in results:
    print(result)

#文本查询
results=collection.find({‘$text‘:{‘$search‘:‘ltf‘}})
print(results)

除此之外还有其他各种各样的方法:

import pymongo

#连接 MongoDB
client=pymongo.MongoClient(host=‘localhost‘,port=27017)
#指定数据库
db=client.test
#指定集合
collection=db.students

#计数
count=collection.find().count()
print(count)   #统计所有数量

count=collection.find({‘age‘:‘20‘}).count()
print(count)   #统计年龄为20的数量

#排序
results=collection.find().sort(‘name‘,pymongo.ASCENDING)
print([result[‘name‘]for result in results])  #升序

results=collection.find().sort(‘name‘,pymongo.DESCENDING)
print([result[‘name‘]for result in results])  #降序

#偏移
results=collection.find().sort(‘name‘,pymongo.ASCENDING).skip(2)
print([result[‘name‘]for result in results])  #升序偏移2 即从第三个数据开始输出

results=collection.find().sort(‘name‘,pymongo.ASCENDING).skip(2).limit(8)
print([result[‘name‘]for result in results])  #升序偏移2 即从第三个数据开始输出 limit限制8个

#更新
condition={‘name‘:‘ltf‘}
student=collection.find_one(condition)
student[‘age‘]=‘25‘
result=collection.update(condition,student)
print(result)

‘‘‘
#删除
result=collection.remove({‘name‘:‘bz‘})
print(result)  #成功一个

result=collection.delete_one({‘name‘:‘zn‘})
print(result)
print(result.deleted_count) #删除bn

result=collection.delete_many({‘age‘:{‘$gt‘:‘20‘}})
print(result.deleted_count) #删除bn
‘‘‘

 

以上就是pymongo的各种各样的方法的一些简单用法了

python操作MongoDB

标签:sts   find   就是   方法   排序   计数   cli   count()   ted