Python操作MongoDbデータベース

10412 ワード

1.概要
MongoDBは分布式ファイルに基づいて格納されたドキュメントデータベースであり、非関係型(NoSQL、Not Only SQL)データベースの中で比較的関係型データベースの一つと言える.無料、操作が簡単、ドキュメント向け、自動スライス、拡張性が強く、クエリー機能が強いなどの特徴があり、ビッグデータ処理のサポートが良い.WEBアプリケーションに拡張性の高い高性能データストレージソリューションを提供することを目的としています.
MongoDBは、キー値(key=>value)のペアからなるデータ構造を持つドキュメントとしてデータを格納します.MongoDBドキュメントはJSONオブジェクトに似ています.フィールド値には、他のドキュメント、配列、およびドキュメント配列を含めることができます.
2.応用
MongoDBデータベースはWebサイトにアクセスできますhttps://www.mongodb.org/downloadsダウンロード、インストール後にコマンドプロンプト環境を開き、MongoDBインストールディレクトリのserver3.2binフォルダに切り替え、コマンドmongod--dbpath D:data--journal--storageEngine=mmapv 1を実行してMongoDBを起動します.もちろん、まずDディスクルートディレクトリの下にフォルダdataを新規作成する必要があります.
さっきのコマンドプロンプト環境を常に稼働状態にしてから、コマンドプロンプト環境を開き、mongoコマンドを実行してMongoDBデータベースに接続します.接続に成功すると、1つの>記号がプロンプトとして表示され、その後MongoDBコマンドを入力できます.
データベースstudentsの開くまたは作成
>use students
データベースへのデータの挿入
>zhangsan = {‘name’: ‘Zhangsan’, ‘age’: 18, ‘gender’: ‘male’}
>db.students.insert(zhangsan)
>lisi = {‘name’: ‘Lisi’, ‘age’: 19, ‘gender’: ‘male’}
>db.students.insert(lisi)
データベース内のレコードの問合せ
>db.students.insert(lisi)
データベース内のレコードの問合せ
>db.students.find()
システム内のすべてのデータベース名の表示
>show dbs
3.pymongoモジュール
#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author   : MaYi
# Blog     : http://www.cnblogs.com/mayi0312/
# Date     : 2019-12-25
# Name     : test01
# Software : PyCharm
# Note     :   pymongo    MongoDB   
#     
import pymongo

#      ,27017     
client = pymongo.MongoClient("localhost", 27017)
#      
db = client.students

#           
print(db.collection_names)

#       
res = db.students.find()
print(res)
for item in res:
    #     
    print(item)

wangwu = {"name": "Wangwu", "age": 20, "sex": "male"}
#       
db.students.insert(wangwu)

for item in db.students.find({"name": "Wangwu"}):
    #       
    print(item)

#       
print(db.students.find_one())
print(db.students.find_one({"name": "Wangwu"}))

#     
print(db.students.find().count())

#       
db.students.remove({"name": "Wangwu"})

#     
db.students.create_index([("name", pymongo.ASCENDING)])

#      
db.students.update({"name": "Zhangsan"}, {"$set": {"age": 25}})

#      
db.students.remove()

#       
zhangsan = {"name": "Zhangsan", "age": 20, "gender": "male"}
lisi = {"name": "Lisi", "age": 21, "gender": "male"}
wangwu = {"name": "Wangwu", "age": 22, "gender": "female"}
db.students.insert_many([zhangsan, lisi, wangwu])

#        
for item in db.students.find().sort("name", pymongo.ASCENDING):
    print(item)


#     
if __name__ == '__main__':
    pass