Python上使用MongoDB
不多说,直接上代码!
#coding: UTF-8
from pymongo import MongoClient
def db_test_novel_update():
client = MongoClient('localhost',27017) #connect mongo database
db = client.TestDB
table = db['test']
task = {
'user':'joe'
}
search_result = table.find(task)
modify = { "$set": { "user": "12345" } }
table.update_one(task,modify)
def db_test_novel_puth():
client = MongoClient('localhost',27017) #connect mongo database
db = client.TestDB
table = db['test']
task = {
'user':'12345'}
modify = { "$push": { "now_address": "上海" } }
# table.update(task,{'$push':{"title":"t2"}})
# table.update(task,modify)
# table.update(task,{'$push':{"address":[
# {'add':'上海'},
# {'add':'江苏'},
# {'add':'安徽'},
# {'add':'北京'},
# ]}})
table.update(task,{"$push":{"tags":"Test"}})
table.update(task,{"$addToSet": {"tags":{"$each":["Python","Each"]}}})
def db_test_novel_id():
client = MongoClient('localhost',27017) #connect mongo database
db = client.task
result = db.task.find({'user':'12345'})
print list(result)[0]['_id']
def db_test_novel_search_address():
client = MongoClient('localhost',27017) #connect mongo database
db = client.TestDB
table = db['test']
task = {
'user':'12345'}
result = db.task.find(task)
print list(result)
# 避免加入了重复的,可以将”$push”改为使用”$addToSet”
def db_test_novel_update_avoid_reinsert():
client = MongoClient('localhost',27017) #connect mongo database
db = client.TestDB
table = db['test']
task = {
'user':'12345'}
table.update(task,{"$addToSet": {"tags":{"$each":["Python","Each",'Java']}}})
def db_test_novel_pop():
client = MongoClient('localhost',27017) #connect mongo database
db = client.TestDB
table = db['test']
task = {
'user':'12345'}
# 这个会删除tags里面最后一个,改成-1则删除第一个
table.update(task,{"$pop":{"tags":-1}})
# 可以使用”$pull”来删除数组中指定的值,它会删除数组中所有匹配的值
def db_test_novel_delete_one():
client = MongoClient('localhost',27017) #connect mongo database
db = client.TestDB
table = db['test']
task = {
'user':'12345'}
# 这个会删除tags里面最后一个,改成-1则删除第一个
table.update(task,{"$pull":{"tags":'Each'}})
# 如何修改其中的一个值呢?可以先删除掉,再增加一个进去,还有就是直接定位修改
def db_test_novel_update_sub():
client = MongoClient('localhost',27017) #connect mongo database
db = client.TestDB
table = db['test']
table.update({"tags":'Python'},{"$set":{"tags.$":"Hello"}})
if __name__ == '__main__':
create = 5
if 1 == create:
db_test_novel_createDB()
db_test_novel_update()
db_test_novel_puth()
db_test_novel_id()
elif 2 == create:
db_test_novel_update_avoid_reinsert()
elif 3 == create:
db_test_novel_pop()
elif 4 == create:
db_test_novel_delete_one()
elif 5 == create:
db_test_novel_update_sub()
exit()