MongoDBは:キーと値のペアフォーム、爬虫類のために適しているのは、Baiduはマップし、文書-辞書と同様に、文書コレクションで構成します。
分散:
- 確実
- スケーラビリティ
- リソースの共有
- 高速化
コマンド
-
入力:モンゴを
~$ mongo MongoDB shell version v3.6.3 …… 2020-02-22T16:04:39.509+0800 ICONTROL [initandlisten]
ライブラリの操作
-
ショーDBS:すべてのデータベースを表示します
> show dbs admin 0.000GB config 0.000GB local 0.000GB
-
使用データベース:データベースのないコレクション、データベースはDBSが表示されない場合は、使用するデータベース、作成するために、もしあれば、そこに使用されています
> use python switched to db python
-
現在のデータベースを見る:デシベル
> db python
-
現在のデータベースを削除します。db.dropDatabase()は大文字と小文字が区別され、こぶのロゴ
集合演算
-
db.createCollection( '名前'):コレクションを作成します。
> db.createCollection('stu') { "ok" : 1 }
-
表示すべてのコレクションの現在のデータベース:ショーコレクション
> show collections stu
-
)(コレクション:. Dbのコレクション名.dropを削除するには
ドキュメントアクション
増加
-
収集ドキュメントに挿入:. DB名セット.insert({「キー」:値、「キー」:値})一意の識別を_idが自動的に追加され、{123「_id」}手動で追加することができます
> db.stu.insert({'_id':123,'name':'zhen','age':21}) WriteResult({ "nInserted" : 1 })
-
データの行を挿入:. DB名セット.insert([{}、{}、{}])
> db.stu.insert([{'name':'lili','age':11},{'name':'ilil','age':21}]) BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 2, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })
検索
-
コレクションのクエリ内容:デシベルコレクション名.find()。
> db.stu.find() { "_id" : ObjectId("5e53c343717845eaf7f530cc"), "name" : "li", "age" : 22 }
-
美しく、コレクションのクエリの内容を表示する:デシベルコレクション名は(.find)かなり()..
> db.stu.find().pretty() { "_id" : ObjectId("5e53c343717845eaf7f530cc"), "name" : "li", "age" : 22 } { "_id" : 123, "name" : "zhen", "age" : 21 } { "_id" : ObjectId("5e53c45e717845eaf7f530cd"), "name" : "lili", "age" : 11 }
-
キーを引用することができない。満たすクエリ基準:. DB名のセットは、({値「キー」}).find
> db.stu.find({name:'li'})
-
演算子
不等于:$ne 大于:$gt 小于:$lt 大于等于:$gte 小于等于:$lte db.集合名字.find({key:{$gt:20}})
-
そして$クエリ:DB名セットは.find({$および[{キー:値}、{}]})。
-
$またはクエリ:DB名セットは.find({$または:[{キー:値}、{}]})。
db.stu.find({$or:[{name:'li'},{age:{$gt:11}}]})
-
$または里嵌套と查询:DB集合名字.find({ KaTeX解析エラー:期待は'}'、入力の終わりに'EOF'を得た:又は[{と:[{キー:値}、{キー:値}]}、{$および[{キー:値}、{キー:値}]}]})
変更
-
変更:DB名.Updateセット(条件は{変性}、{}修正値)、変形の条件の唯一複数、全ての修正をカバーするように属し、カバーにパラメータ$セットを追加する唯一の非修飾
覆盖:db.stu.update({age:22},{name:'xxx'}) 修改:db.stu.update({age:22},{$set:{name:'xxx'}}) 全部修改:db.stu.update({age:22},{$set:{name:'xxx'}},{multi:true})
[削除]
-
文書を削除します:デシベルコレクション.removeは({キー:値})。唯一の{}すべて削除されます、条件を与えてはいけない、予選最初のパラメータだけを削除します。justOneを:真
只删除一条:db.stu.remove({age:22},{justOne:true})
pycharm操作モンゴ
-
インポートライブラリ
import pymongo
-
接続--pymongo.MongoClientを確立します()
clinent = pymongo.MongoClient()
-
データベース--clinent [「python37」]に接続
clinent['python37']
-
接続のセット--db [「学生」]
my_collection = db['student']
-
セット操作 - CRUD
增一条——insert_one() my_collection.insert_one({'name':'li','age':13,'sex':'f'}) 增多条——insert_many() my_collection.insert_many([ {}, {}, {} ]) 查询——find_one() res = my_collection.find_one() # 查询一条 res = my_collection.find() #查询全部,返回的是可迭代的结果,也可以list(res)强转为列表 修改——update_one() my_collection.update_one({'name':'value'}, {'$set':{'age':20}}) 参数要用字符串的形式传递 删除——delete_one() 注意不是remove res = my_collection.delete_one({'name':'value'})