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モジュール
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