PythonのMongoDBの
pyMongo
PythonのMongoDBのMongoDBのドライバに接続する必要が
インストールpymongoを:指定のインストールバージョンupdateコマンドpyMongo
pip3 install pymongo
python3 -m pip3 install pymongo==3.5.1
python3 -m pip3 install --upgrade pymongo
接続は、データベースを作成し、データベースが存在するかどうかを判断します
from pymongo import MongoClient
# 使用mongoclient创建一个连接:1.指定参数
# mongo_client=MongoClient(host='localhost',port=27017)
# 2.使用url方式连接
mongo_client=MongoClient("mongodb://localhost:27017/")
# 查看所有文档(数据库)
list_dbs=mongo_client.list_database_names()
# 选择文档
example=mongo_client['example']
# 如果集合存在则返回,反则创建:article
for i in example.list_collection_names():
if i in 'article':
print('{}文档存在'.format(i))
条件演算子のMongoDB
> $gt
< $lt
>= $gte
<= $lte
!= $ne
$in 在范围内
$nin 不在范围内
$regex 匹配正则
$exists 属性是否存在
$type 类型判断
$mod 数字取模操作
$text 文本查询
$where 高级条件查询
挿入データ
db.collection.insert_one(データ)db.collection.insert_many(データ)
mydict={'title':'新增标题','count':1}
insert_data=example_data.insert_one(mydict)
mydict={'title':'新增标题','count':1}
mydict2={'title':'新增2标题','count':2}
insert_data=example_data.insert_one([mydict,mydict2])
削除データ
db.collection.delete_one(クエリ)db.collection.delete_many(クエリ)
del_one_data=example_data.delete_one({'count':999})
del_many_data=example_data.delete_many({'count':{'$lt':800,'$gt':700}})
変更データ(不在作成)
db.colleciton.update_one({クエリ}、{$修飾子:{}の値を変更し}):{}修正値db.colleciton.update_many({クエリ}、{$修飾子})
update_one_data=example_data.update_one({'count':{'$lt':1000,'$gt':900}},{'$set':{'title':'IG合理的'}})
update_many_data=example_data.update_many({'count':{'$lt':1000,'$gt':900}},{'$set':{'title':'IG合理的'}})
クエリ(上限、および、または)
# 对查询结果进行范围截取
limit_data=example['data'].find().limit(5)
# 查询全部
data=example['data'].find()
# 按AND条件查询指定字段数据
# 查询count字段大于8989的数据
data=example['data'].find({'count':{'$gt':8989}})
# 查询count字段大于8989和title大于8989的数据(and)
and_data=example['data'].find({'title':'新覆盖标题','count':{'$gt':8989}})
# 查询count大于550且小于650或title是修改多个标题
or_data=example['data'].find({'$or':[{'title':'修改多个标题','count':{'$gte':550,'$lte':650}}]})
+ +データは、ジャンプの範囲をソート
- ソート(提出され、pymongo.ASCENDING / pymongo.DESCENDING)クエリ結果を昇順/降順の
ソートdb.collection.findを()。() - スキップ(NUM)クエリ結果のスキップ値
db.collection.findが()。(スキップ) - 限界(NUM)範囲クエリ結果が取ら
(db.collection.find)。限界() - 優先度:順序に関係なく、ソート>スキップ>制限、使用して
カウントが9900より大きく、下降カウントは9900よりも大きい場合のみ先頭データ10を下降のみ最初の5つを取るデータの降順に90には、スキップされたデータ、900よりカウント大きく、1000未満
sort_data=example_data.find({'count':{'$gt':9900}}).sort('count',-1)
sort_limit_data=example_data.find({'count':{'$gt':9900}}).sort('count',-1).limit(10)
sort_skip_limit_data=example_data.find({'count':{'$gt':900,'$lt':1000}}).sort('count',-1).skip(90).limit(5)
$ $変更や特殊文字の使用
(1)フィールドの変更の$設定値が
(2)未設定の削除フィールドを$
(3)$ INC増加参照
配列操作用(4):
プッシュの最後の位置データアレイにおいて増加$
最後に$ pushAll、アレイ位置データの複数の増加
$単一のプルは、アレイ内の指定された要素を削除
$ pullAll複数配列内の指定された要素を削除
最初または最後の要素を削除$のPOPを整数配列削除負正シーケンスは削除する逆の
電流を格納$を(アレイ)整合素子添字インデックス、インデックスが最も外側の位置を記憶することができます