mongodbデータベース

2521 ワード

mongodbとは何ですか?
''''mongodbはC++言語で作成され、分散ファイルストレージに基づくオープンソースデータベースシステムです.高負荷の場合、より多くのノードを追加することで、サーバのパフォーマンスを保証できます.
mongodbは、WEBアプリケーションに拡張可能な高性能データストレージソリューションを提供することを目的としています.
mongodbは、キー値(key=>value)のペアからなるデータ構造をドキュメントとして格納します.mongodbドキュメントはJSONオブジェクトに似ています.フィールド値には、他のドキュメント、配列、およびドキュメント配列を含めることができます.
mongodbデータベースの特徴
  • モードフリー:異なる構造のドキュメントを同じデータベースに格納できる
  • 集合向けストレージ:JSONスタイルファイルを格納するのに適した形式
  • 完全なインデックスサポート:任意のプロパティにインデックス可能
  • レプリケーションと高可用性:サーバ間のデータレプリケーションをサポートし、プライマリ・モードとサーバ間の相互レプリケーションをサポートします.レプリケーションの主な目的は、冗長および自動フェイルオーバ
  • を提供することです.
  • 自動スライス:クラウドレベルの伸縮性をサポート:自動スライス機能はレベルのデータベースクラスタをサポートし、追加のマシン
  • を動的に追加することができる.
  • 豊富なクエリー:豊富なクエリー表現をサポートし、クエリー命令はJSON形式のタグを使用し、ドキュメントに埋め込まれたオブジェクトと配列
  • を簡単にクエリーすることができる.
  • クイックオンサイト更新:クエリー・オプティマイザはクエリー式を分析し、効率的なクエリー・プラン
  • を生成します.
  • 効率的な従来のストレージ方式:バイナリデータおよび写真や画像などの大規模なオブジェクトをサポートする
  • mongodbデータベース基本コマンド:
  • 現在のデータベース名の表示:db
  • 物理的に存在するすべてのデータベースをリストします:show dbs
  • データベースの切り替え:useデータベース名
  • 現在のデータベース情報を表示する:db.stats()
  • データベース削除:現在指向するデータベースを削除し、データベースが存在しない場合、dbは何もしない.dropDatabase()

  • 比較、範囲演算子
  • =
  • デフォルトは判断に等しく、演算子はありません
  • 未満
    db.wzry.find({ age : { $lt : 5} } )
  • 以下
  • db.wzry.find({ age : { $lte : 5} } )
  • より大きい
    db.wzry.find( { age : { $gt : 2 } })
  • 以上
  • $gte (greater than equal)
  • に等しくない
    $ne (not equal)
  • 範囲内
  • db.wzry.find( {age : { $in : [4,6] } } )
  • 範囲外
  • db.wzry.find( { age : { $nin : [4,6] } } )
    論理演算子
    論理と(and)db.wzry.find({age:5,type:'ほほほ'})論理または(or)db.wzry.find({$or:[{age:5},{type:'ほほほ'}}}))
    mongodbとPythonのインタラクション:
    pythonパッケージのインストール
    sudo pip3 install pymongo
    

    モジュールのインポート
    import pymongo
    MongoClientへの接続の確立
    client = MongoClient('localhost',27017)
    データベースを取得
    db = client.データベース名
    集合を得る
    collection = db.コレクション名
    from pymongo import *
    """
        :
    insert_one()       ,        
    insert_many()       ,        ,      
    """
    def insert():
    try:
    # 1.       
    client = MongoClient(host='localhost', port=27017)
    # 2.      
    #           ,          
    #             ,              
    db = client.demo #   demo   
    #  stu      
    #     
    db.stu.insert_one({'name': 'zs', 'age': 'lisi'})
    #     
    db.stu.insert_many([{'name': 1}, {'name': 2}])
    except Exception as e:
    print(e)
    
    
    if __name__ == '__main__':
    insert()