from pymongo import MongoClient
import pymongo
import datetime
 
client = MongoClient("mongodb://localhost:27017/") 
 
client.list_database_names()
 
['admin', 'config', 'local', 'study']
 
client.study.list_collection_names()
 
['mongo_study_sites']
 
docs = {'num': 1,
       'desc': '菜鸟教程:MongoDB教程',
       'url': 'https://www.runoob.com/mongodb/mongodb-tutorial.html'}
client.study.mongo_study_sites.insert_one(docs)
for i in client.study.mongo_study_sites.find():
    print(i)
 
{'_id': ObjectId('61d5b4bb33a4e17ffffe25de'), 'num': 1, 'desc': '菜鸟教程:MongoDB教程', 'url': 'https://www.runoob.com/mongodb/mongodb-tutorial.html'}
 
docs_list = [{'num': 1,
              'desc': 'MongoDB菜鸟教程',
              'url': 'https://www.runoob.com/mongodb/mongodb-tutorial.html'},
             {'num': 2,
              'desc': 'PyMongo官方教程',
              'url': 'https://pymongo.readthedocs.io/en/stable/index.html',
              'date': datetime.datetime(2022, 1, 5, 23, 8)},
             {'num': 3,
              'desc': 'PyMongo菜鸟教程',
              'url': 'https://www.runoob.com/python3/python-mongodb.html'}
            ]
client.study.mongo_study_sites.insert_many(docs_list)
for i in client.study.mongo_study_sites.find():
    print(i)
 
{'_id': ObjectId('61d5b4bb33a4e17ffffe25de'), 'num': 1, 'desc': '菜鸟教程:MongoDB教程', 'url': 'https://www.runoob.com/mongodb/mongodb-tutorial.html'}
{'_id': ObjectId('61d5b4ec33a4e17ffffe25df'), 'num': 1, 'desc': 'MongoDB菜鸟教程', 'url': 'https://www.runoob.com/mongodb/mongodb-tutorial.html'}
{'_id': ObjectId('61d5b4ec33a4e17ffffe25e0'), 'num': 2, 'desc': 'PyMongo官方教程', 'url': 'https://pymongo.readthedocs.io/en/stable/index.html', 'date': datetime.datetime(2022, 1, 5, 23, 8)}
{'_id': ObjectId('61d5b4ec33a4e17ffffe25e1'), 'num': 3, 'desc': 'PyMongo菜鸟教程', 'url': 'https://www.runoob.com/python3/python-mongodb.html'}
 
client.study.mongo_study_sites.delete_many({'desc': '菜鸟教程:MongoDB教程'})
for i in client.study.mongo_study_sites.find():
    print(i)
 
{'_id': ObjectId('61d5b4ec33a4e17ffffe25df'), 'num': 1, 'desc': 'MongoDB菜鸟教程', 'url': 'https://www.runoob.com/mongodb/mongodb-tutorial.html'}
{'_id': ObjectId('61d5b4ec33a4e17ffffe25e0'), 'num': 2, 'desc': 'PyMongo官方教程', 'url': 'https://pymongo.readthedocs.io/en/stable/index.html', 'date': datetime.datetime(2022, 1, 5, 23, 8)}
{'_id': ObjectId('61d5b4ec33a4e17ffffe25e1'), 'num': 3, 'desc': 'PyMongo菜鸟教程', 'url': 'https://www.runoob.com/python3/python-mongodb.html'}
 
for i in client.study.mongo_study_sites.find({}, {'_id':0, 'desc':1, 'url':1}):  
    print(i)
    
print('= ' * 50)
for i in client['study']['mongo_study_sites'].find_one():
    print(i)
 
{'desc': 'MongoDB菜鸟教程', 'url': 'https://www.runoob.com/mongodb/mongodb-tutorial.html'}
{'desc': 'PyMongo官方教程', 'url': 'https://pymongo.readthedocs.io/en/stable/index.html'}
{'desc': 'PyMongo菜鸟教程', 'url': 'https://www.runoob.com/python3/python-mongodb.html'}
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
_id
num
desc
url
 
client['study']['mongo_study_sites'].count_documents({})
 
3
 
client['study']['mongo_study_sites'].create_index([('desc', pymongo.ASCENDING)], unique=True) 
print(list(client['study']['mongo_study_sites'].index_information()))  
doc = {'desc': 'MongoDB菜鸟教程'}
try:
    client['study']['mongo_study_sites'].insert_one(doc)
except Exception as e:
    print(str(e))
 
['_id_', 'desc_1']
E11000 duplicate key error collection: study.mongo_study_sites index: desc_1 dup key: { desc: "MongoDB菜鸟教程" }, full error: {'index': 0, 'code': 11000, 'keyPattern': {'desc': 1}, 'keyValue': {'desc': 'MongoDB菜鸟教程'}, 'errmsg': 'E11000 duplicate key error collection: study.mongo_study_sites index: desc_1 dup key: { desc: "MongoDB菜鸟教程" }'}
 
 
 
 
list(client.study.mongo_study_sites.find_one({}))
 
['_id', 'num', 'desc', 'url']