1.$修改器 :
$set 簡單粗暴 {name:value} dict["name"]=value
$unset 簡單粗暴的刪除字段 {$unset:{name:1}} del dict["name"]
db.user_info.updateOne({age:200},{$unset:{age:1}})
$inc 引用增長
db.user_info.updateMany({},{$inc:{age:1}})
array操做
$push 在array中追加一個新的元素 [].append(item)
db.user_info.updateOne({name:"200wansui"},{$push:{hobby:10}})
$pull 在array中刪除一個的元素 [].remove(item) [].pop(-1)
db.user_info.updateOne({name:"200wansui"},{$pull:{hobby:0}})
$pop 不含索引 -1 從前日後 1 從後往前
db.user_info.updateOne({name:"200wansui"},{$pop:{hobby:1}})
2.$ 字符
db.user_info.updateOne({hobby:6},{$set:{"hobby.$":"六"}})
保存符合索引條件數據的下標
python
3.Object 字典操做
db.user_info.updateOne({name:"200wansui"},{$inc:{"info.tizhong":-5}})
db.user_info.updateOne({name:"200wansui"},{$set:{"info.long":12.5}})
4.array + Object
db.user_info.updateOne({"hobby.shengao":150},{$set:{"hobby.$.long":14}})
5.limit
db.user_info.find({}).limit(5)
選取數據從當前位置選擇5個
6.skip 跳過
db.user_info.find({}).skip(2)
從0開始跳過2條數據爲當前位置json
7.sort
db.user_info.find({}).sort({ id:-1 })
根據ID進行排序 -1倒敘 1正序app
8.limit+skip+sort
db.user_info.find({}).limit(5).skip(10)
db.user_info.find({}).limit(c).skip((p-1)*c)
db.user_info.find({}).limit(5).skip(5).sort({ id:-1 })
優先級最高的是 sort
其次優先爲 skip
最低優先級 limitui
9.pymongoblog
安裝pymongo第三方模塊排序
創建鏈接索引
import pymongo from bson import ObjectId import json mongo_client= pymongo.MongoClient(host='127.0.0.1',port=27017) Mongo =mongo_client['db1']
3 使用pymongo實現數據的增刪改查ip
數據增長rem
Mongo.user_info.insert_one({'id':2,'name':'zjh','hobby':[1,2,3,4]}) Mongo.user_info.insert_one({'id':1,"name":'zxd','age':23}) res = Mongo.user_info.insert_many([{'name':'pymongo','age':666},{'name':'pymongo','age':666}])
數據查詢get
ret=Mongo.user_info.find_one({‘id’:3}) print(ret) ret=Mongo.user_info.find({}) print(list(ret))
res=Mongo.user_info.find({'name':1}).limit(5).skip(0).sort('id',pymongo.DESCENDING)
數據更改
Mongo.user_info.update_one({'id':1},{"$set":{'age':18}}) 直接更改字典 ret = Mongo.user_info.find_one({'id':16}) # print(ret) ret.get('info')['shengao']=188 ret.get('info')['tizhong']=135 Mongo.user_info.update_one({'_id':ret['_id']},{'$set':ret}) res = Mongo.user_info.find_one({'id':16}) print(res)
更改字典內部字典
# Mongo.user_info.insert_one({'id':12,'info':{'k1':'v1'}})
# Mongo.user_info.update_one({'id':12},{"$set":{'info':{'k1':66}}})
更改列表中的字典
# Mongo.user_info.insert_one({'id':5,'hobby':[1,23,{'shengao':179,'long':12}]})
# res=Mongo.user_info.update_one({'hobby.shengao':179},{'$set':{'hobby.$.long':13}})
# # print(res)
# Mongo.user_info.update_one({'id':5},{'$push':{'hobby':10}})
數據刪除
Mongo.user_info.delete_one({'id':1}) Mongo.user_info.delete_many({'name':1})
序列化與反序列化
# ret =Mongo.user_info.find_one({'name':'zjh'}) # ret['_id'] = str(ret['_id']) # res=json.dumps(ret) # ress = json.loads(res) # ress["_id"]=ObjectId(ress["_id"]) # ret=Mongo.user_info.find_one({'_id':ress["_id"]}) # print(ret)