[スパルタコードクラブ]ネットワーク開発総合クラス-第3週(3)
3851 ワード
3-12 pymongo操作DBを使用
辞書データベース
from pymongo import MongoClient 👉🏻 モンゴル派
client = MongoClient('localhost', 27017) 👉🏻 私のパソコンで稼働しているモンゴディビに接続します.
db = client.dbsparta 👉🏻 '「dbsparta」のデバイス名で接続(ない場合は自動接続)
Ⅰ.insert:DBに情報を追加する
doc = {'name':'김남준','age':28}
db.bts.insert_one(doc)
={「name」:「金南俊」,「age」:28},btsという集合に含まれる防弾少年団メンバーの名前が全て挿入された状態「波切り」では出力に変化はありませんが、「ROBO 3 T」でRefreshを押すとDBが挿入されていることが確認できます.
Ⅱ-1.find:特定の情報を検索する
same_ages = list(db.bts.find({'age':27},{'_id':False}))
print(same_ages)
27歳のメンバーを出力{'_id':False}:
出力から値「id」を除外各データベースで自動的に作成される一意の値
[{'name': '박지민', 'age': 27}, {'name': '김태형', 'age': 27}]
Ⅱ-2.find:条件
same_ages = list(db.bts.find({'age':27},{'_id':False}))
for person in same_ages:
print(person)
同じages(dictionary)をリスト形式で出力するには、繰り返し文(for)を使用します.👇🏻
{'name': '박지민', 'age': 27}
{'name': '김태형', 'age': 27}
Ⅱ-3.find:無条件(すべての値を出力)
same_ages = list(db.bts.find({},{'_id':False}))
for person in same_ages:
print(person)
元の条件を削除(「age」:27)👇🏻
{'name': '김남준', 'age': 28}
{'name': '김석진', 'age': 30}
{'name': '민윤기', 'age': 29}
{'name': '정호석', 'age': 28}
{'name': '박지민', 'age': 27}
{'name': '김태형', 'age': 27}
{'name': '전정국', 'age': 25}
Ⅱ-4.find one:出力は1つのみ
member = db.bts.find_one({'age':27},{'_id':False})
print(member)
27歳のメンバー1人のみ出力👇🏻
{'name': '박지민', 'age': 27}
これは教室にはない内容ですが、智敏がプリントアウトして、同じ条件で、先に次の値がプリントアウトされるようです.member = db.bts.find_one({'age':27},{'_id':False})
print(member['name'])
27歳のメンバーの「名前」が1人しか出力されません👇🏻
박지민
Ⅲ-1.upadate:データベース内の情報を新しい内容に変更する
db.bts.update_one({'name':'전정국'},{'$set':{'age':19}})
国の年齢を19歳に改める👇🏻 Refreshは19歳のデータ鐘国を見ることができます.
Ⅲ-2.upadate multi:DBの情報を一度に変更
db.bts.update_many({'age':28},{'$set':{'name':'구사즈'}})
28歳のメンバーの名前を全て「旧サズ」に変更👇🏻
一度に変更するとリスクが高くなりますが、実際にはあまり使いにくいコードです.
Ⅳ.delete one:情報の削除
db.bts.delete_one({'name':'방시혁'})
bts collectionから方時赫という名前の値を削除します.余華感大発;
👇🏻 g-リン
✔¥updateと同じようにdeleteもたくさんありますが、危険なのであまり使いにくいです.
そしてこれは今日学んだすべての属性に対応しています.
✔¥collectionが正しく使用されているか
今日の新知
insert,find,update,deleteそして...
方時赫年齢…^-^;
-今日の開発ログの終了-
Reference
この問題について([スパルタコードクラブ]ネットワーク開発総合クラス-第3週(3)), 我々は、より多くの情報をここで見つけました https://velog.io/@cinephile/스파르타코딩클럽-웹개발-종합반-3주차3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol