MongoDBとpymongo入門
4322 ワード
MongoDB
1.概念
SQLとNoSQL(MongoDB)の比較
リレーショナル・データベース
MongoDB
データベース#データベース#
データベース#データベース#
テーブルテーブルテーブル
コレクションコレクション
行Row/Taple
ドキュメントドキュメントドキュメント
列Column
フィールドフィールドフィールド
表Join
埋め込みドキュメントEmbedded Documents
プライマリ・キーPrimary Key
プライマリ・キーPrimary Key(MongoDBで提供されるデフォルトkey_id)
2.インストールおよび起動サービス
archlinux:
システムを使用してサービスを開始
デフォルトではプロファイル/etc/mongodbが使用されます.conf、デフォルトのデータベースパスdbpathを変更できる内容は次のとおりです.
またはmongodbを直接起動します.
3.データベースの作成と削除
mongoがクライアントに入ると、コマンドuseによって新しいデータベースが作成され、そのデータベースが存在する場合、このデータベースに戻ります.
コマンド#コマンド#
db現在選択されているデータベースをチェックする
コマンドshow dbsは、データベースのリストをチェックします.作成したばかりのデータベースはリストに表示されません.データベースを表示するには、少なくとも1つのドキュメントdbを挿入する必要があります.DATABASE_NAME.insert({'a':'abc'})
dropDatabase()データベースの削除
4.コレクションの作成と削除
db.createCollection(name, options)
コマンドshow collections作成されたコレクションの表示
または、明示的にコレクションを作成する必要はありません.ドキュメントを挿入すると、MongoDBは自動的にコレクションを作成します.
コマンドdb.COLLECTION_NAME.drop()コレクションの削除
5.文書の添削
詳細:
pymongo
1.入門
参照先:
https://wiki.archlinux.org/index.php/MongoDB
http://api.mongodb.org/python/current/
http://wiki.jikexueyuan.com/project/mongodb/mongodb-query-document.html
1.概念
SQLとNoSQL(MongoDB)の比較
リレーショナル・データベース
MongoDB
データベース#データベース#
データベース#データベース#
テーブルテーブルテーブル
コレクションコレクション
行Row/Taple
ドキュメントドキュメントドキュメント
列Column
フィールドフィールドフィールド
表Join
埋め込みドキュメントEmbedded Documents
プライマリ・キーPrimary Key
プライマリ・キーPrimary Key(MongoDBで提供されるデフォルトkey_id)
2.インストールおよび起動サービス
archlinux:
# pacman -S mongodb python-pymongo
システムを使用してサービスを開始
# systemctl start mongodb
デフォルトではプロファイル/etc/mongodbが使用されます.conf、デフォルトのデータベースパスdbpathを変更できる内容は次のとおりです.
bind_ip = 127.0.0.1
quiet = true
dbpath = /var/lib/mongodb
logpath = /var/log/mongodb/mongod.log
logappend = true
またはmongodbを直接起動します.
# mongod --dbpath /tmp/dbfile &
3.データベースの作成と削除
mongoがクライアントに入ると、コマンドuseによって新しいデータベースが作成され、そのデータベースが存在する場合、このデータベースに戻ります.
> use DATABASE_NAME
コマンド#コマンド#
db現在選択されているデータベースをチェックする
コマンドshow dbsは、データベースのリストをチェックします.作成したばかりのデータベースはリストに表示されません.データベースを表示するには、少なくとも1つのドキュメントdbを挿入する必要があります.DATABASE_NAME.insert({'a':'abc'})
dropDatabase()データベースの削除
> use DATABASE_NAME
> db.dropDatabase()
4.コレクションの作成と削除
db.createCollection(name, options)
>use DATABASE_NAME
>db.createCollection("COLLECTION_NAME")
コマンドshow collections作成されたコレクションの表示
または、明示的にコレクションを作成する必要はありません.ドキュメントを挿入すると、MongoDBは自動的にコレクションを作成します.
>db.COLLECTION_NAME.insert({"foo" : "bar"})
コマンドdb.COLLECTION_NAME.drop()コレクションの削除
5.文書の添削
>db.COLLECTION_NAME.insert(document) //
>db.COLLECTION_NAME.find() //
>db.COLLECTION_NAME.find().pretty() //
>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA) //
>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA}) //
>db.COLLECTION_NAME.remove(DELLETION_CRITTERIA) //
詳細:
>db.COLLECTION_NAME.find({}, {name: 1, _id: 0}); // name field, _id
>db.COLLECTION_NAME.find().sort({name: 1, rating: -1}).limit(5) // name , rating , 5
>db.COLLECTION_NAME.count({num: {$gt: 50}}) // ,
>db.COLLECTION_NAME.find({num: {$gt: 50}}).count()
pymongo
1.入門
client
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> client = MongoClient('localhost', 27017)
>>> client = MongoClient('mongodb://localhost:27017/') # mongodb
:
>>> db = client.test_database
>>> db = client['test-database'] #
:
>>> collection = db.test_collection
>>> collection = db['test-collection']
#
pymongo :
>>> import datetime
>>> post{'author': 'Mike',
'date': datetime.datetime(2016, 4, 15, 9, 9, 28, 367936),
'tags': ['mongodb', 'python', 'pymongo'],
'text': 'my first blog post'}
:
>>> posts = db.posts
>>> posts.insert_one(post)
>>> db.collection_names() #
:
>>> new_posts = [{"author": "Mike",
... "text": "Another post!",
... "tags": ["bulk", "insert"],
... "date": datetime.datetime(2009, 11, 12, 11, 14)},
... {"author": "Eliot",
... "title": "MongoDB is fun",
... "text": "and pretty easy too!",
... "date": datetime.datetime(2009, 11, 10, 10, 45)}]
>>> result = posts.insert_many(new_posts)
>>> result.inserted_ids
[ObjectId('...'), ObjectId('...')]
:
>>> posts.find_one()
>>> posts.find_one({"author": "Mike"}) #
:
>>> posts.count()
参照先:
https://wiki.archlinux.org/index.php/MongoDB
http://api.mongodb.org/python/current/
http://wiki.jikexueyuan.com/project/mongodb/mongodb-query-document.html