mongoDb 的列表與python類似,里面可以是字符串, 數(shù)字, 字典
記錄一下如果在MongoDB的列表中存放多個字典的各種操作
插入
使用$push命令
想往一個列表中插入新數(shù)據(jù),又不影響原有的時候使用,相當(dāng)于入棧
collection.update_many({} , {"$push":{"property.my_list":"new_data"}})
刪除
$pop命令和 $pull命令
$pop命令
$pop是出棧操作雁刷, 指定的字段名后填 1 或者 -1,
1 是從棧尾pop保礼, -1 是從棧頭pop
collection.update_many({},{"$pop":{"property.my_list":-1}}) # pop出my_list的第一個值
$pull
$pull 命令會刪除所有符合條件的值
如果有
{
"_id" : ObjectId("5dca7d8b5971e1f717c9b76d"),
"property" : {
"my_list" : [
"20191112",
"20191112",
"20191100"
]
}
}
這樣一條數(shù)據(jù)沛励,在執(zhí)行了
collection.update_many({},{"$pull":{"property.my_list":'20191112'}})
之后,就會是這樣的:
{
"_id" : ObjectId("5dca7d8b5971e1f717c9b76d"),
"property" : {
"my_list" : [
"20191100"
]
}
}
····································································································
但是如果在列表中存儲的是多條字典炮障, 比如:
{
"_id" : ObjectId("5dca7d8b5971e1f717c9b76d"),
"property" : {
"my_list" : [
{
"date" : "20191112",
"value" : 100.0
},
{
"date" : "20191112",
"value" : 200.0
},
{
"date" : "20191101",
"value" : 100.0
}
]
}
}
這個時候想處理這個列表就要麻煩一些了目派。
插入操作和之前一樣,不受影響胁赢。
查詢在property.my_list列表中
刪除列表中的某一個字典需要這樣操作: