¸üÐÂʱ¼ä:2021Äê06ÔÂ08ÈÕ17ʱ48·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

PythonÊÇĿǰ±È½ÏÁ÷ÐеijÌÐòÉè¼ÆÓïÑÔ£¬ÌرðÊÇÔÚÈ˹¤ÖÇÄܺʹóÊý¾Ý·ÖÎö´¦ÀíÉÏ£¬Êг¡¿Õ¼äÊDZȽϴóµÄ¡£Ð´´Ëͬʱ£¬MongDBÊDZȽÏÁ÷ÐеÄNoSQLÊý¾Ý¿âµÄ½â¾ö·½°¸£¬Á½Õß½áºÏʹÓõij¡¾°·Ç³£¶à¡£
ÒªÏëÔÚPythonÏîÄ¿ÖÐʹÓÃMongoDBÊý¾Ý¿â£¬ÐèÒªÔÚPython±ê×¼¿âµÄ»ù´¡ÉÏÌí¼Ó¶ÔMongoDBµÄÖ§³Ö¡£½ØÖ¹µ½Ä¿Ç°£¬³£ÓõĿª·¢MongoDBµÄ°üΪPyMongo¡£ÏÂÃæ½«Õë¶ÔPyMongoµÄÏà¹ØÄÚÈݽøÐÐÏêϸ½éÉÜ¡£
PyMongoµÄ¸ÅÄî
PyMongoÊÇÓÃÓÚMongoDBµÄ¿ª·¢¹¤¾ß£¬ÊÇPython ²Ù×÷MongoDBÊý¾Ý¿âµÄÍÆ¼ö·½Ê½¡£
PyMongoÖÐÖ÷ÒªÌṩÁËÈçÏÂÀàÓëMongoDBÊý¾Ý¿â½øÐн»»¥:
¡ôMongoClientÀà:ÓÃÓÚÓëMongoDB·þÎñÆ÷½¨Á¢Á¬½Ó¡£
¡ôDataBaseÀà:±íʾMongoDBÖеÄÊý¾Ý¿â¡£
¡ôCollection Àà:±íʾMongoDBÖеļ¯ºÏ¡£
¡ôCursor Àà:±íʾ²éѯ·½·¨·µ»ØµÄ½á¹û£¬ÓÃÓÚ¶Ô¶àÐÐÊý¾Ý½øÐбéÀú¡£
PyMongo¿âµÄ»ù±¾Ê¹ÓÃÁ÷³ÌÈçÏÂ:
(1)´´½¨Ò»¸öMongoClientÀàµÄ¶ÔÏó£¬ÓëMongDB·þÎñÆ÷½¨Á¢Á¬½Ó¡£
(2)ͨ¹ýMongoClient¶ÔÏó·ÃÎÊÊý¾Ý¿â(DataBase ¶ÔÏó)¡£
(3)ʹÓÃÉϸö²½ÖèµÄÊý¾Ý¿â´´½¨Ò»¸ö¼¯ºÏColletio¶ÔÏó)¡£
(4)µ÷Óü¯ºÏÖÐÌṩµÄ·½·¨ÔÚ¼¯ºÏÖвåÈË¡¢É¾³ý¡¢Ð޸ĺͲéѯÎĵµ¡£
PyMongoµÄ»ù±¾²Ù×÷
ÓÉÓÚPyMongoÊǵÚÈý·½¿â£¬ËùÒÔÐèÒª°²×°Ö®ºó²ÅÄÜÔÚPythonÖÐʹÓá£ÔÚWindowsϵͳϰ²×°¿ÉʹÓÃpipÃüÁî:
°²×°Íê³ÉÖ®ºó£¬¾Í¿ÉÒÔʹÓÃPyMongo²Ù×÷MongoDB Êý¾Ý¿â¡£Ê×ÏÈÒªÔÚÏîÄ¿Öе¼ÈËPyMongo¿âµÄÈ«²¿ÄÚÈÝ»òÕßʹÓõ½µÄÀ࣬ͨ³£Çé¿öϲÉÓÃÈçÏ·½Ê½ÒýÈË:
from pymongo import *
µ¼ÈËPyMongo¿âÖ®ºó£¬¾Í¿ÉÒÔʹÓÃ¸Ã¿â½øÐÐÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷¡£ÏÂÃæ¾ÍÕë¶ÔPyMongo¿âµÄ»ù±¾²Ù×÷Ò»Ò»½øÐнéÉÜ¡£
1.´´½¨Á¬½Ó
¿ªÊ¼Ê¹ÓÃPyMongoµÄµÚÒ»²½ ÊÇ´´½¨Ò»¸ö MongoClientÀàµÄ¶ÔÏó£¬ÓÃÓÚÁ¬½ÓMongoDB·þÎñÆ÷¡£
¿ÉÒÔͨ¹ýMongoClientÀàµÄ¹¹Ôì·½·¨½øÐд´½¨¡£¸Ã·½·¨Óï·¨¸ñʽÈçÏÂ:
ÉÏÊö·½·¨Öаüº¬µÄ²ÎÊýº¬ÒåÈçÏÂ:
(1)host²ÎÊý:±íʾÖ÷»úÃû»òIPµØÖ·¡£
(2)port²ÎÊý:±íʾÁ¬½ÓµÄ¶Ë¿ÚºÅ¡£
(3)document_class²ÎÊý:´Ó´Ë¿Í»§¶Ë²éѯ·µ»ØµÄÎĵµÄ¬ÈÏʹÓôËÀà¡£
(4)tz_aware²ÎÊý:Èç¹ûΪTrue,Ôò´ËMongoClient×÷ΪÎĵµÖеÄÖµ·µ»ØµÄdatetimeʵÀý£¬½«»á±»Ê±ÇøËùʶ±ð¡£
(5)connect²ÎÊý:ÈôΪTrue(ĬÈÏ)£¬ÔòÁ¢¼´¿ªÊ¼ÔÚºǫ́Á¬½Óµ½MongoDB,·ñÔòÁ¬½Óµ½µÚÒ»¸ö²Ù×÷¡£
½¨Á¢Á¬½ÓµÄʾÀýÈçÏÂ:
client=MongoClient()
ÉÏÊöʾÀýÖÐûÓд«ÈËÈκβÎÊý£¬½«½¨Á¢Á¬½Óµ½Ä¬ÈϵÄÖ÷»ú(localhost)ºÍ¶Ë¿Ú(27017 )¡£
³ý´ËÖ®Í⣬¿ÉÒÔÏÔʽµØÖ¸¶¨Ö÷»úºÍʹÓö˿ڡ£ÀýÈç:
client=MongoClient ('localhost', 27017)
Ò²¿ÉÒÔʹÓÃMongoDBµÄURL·¾¶ÐÎʽ´«È˲ÎÊý¡£ÀýÈç:
client=MongoClient('mongodb://localhost:27017')
2.·ÃÎÊÊý¾Ý¿â
Ö»ÒªÒѾ½¨Á¢ÁËÓëMongo·þÎñÆ÷µÄÁ¬½Ó£¬¾Í¿ÉÒÔÖ±½Ó·ÃÎÊÈκÎÊý¾Ý¿â¡£·ÃÎÊÊý¾Ý¿âµÄ·½Ê½±È½Ï¼òµ¥£¬¿ÉÒÔ½«Æäµ±×÷ÊôÐÔÒ»Ñù£¬Ê¹ÓõãÓï·¨½øÐзÃÎÊ¡£ÀýÈç:
db=client.pymongo_test
´ËÍ⣬»¹¿ÉÒÔʹÓÃ×ÖµäµÄÐÎʽ½øÐзÃÎÊ¡£ÀýÈç:
db=client['pymongo_test']
3.´´½¨¼¯ºÏ
´´½¨¼¯ºÏµÄ·½Ê½Óë´´½¨Êý¾Ý¿âÀàËÆ£¬Í¨¹ýÊý¾Ý¿âʹÓõãÓï·¨µÄÐÎʽ½øÐзÃÎÊ¡£ÆäÓï·¨¸ñʽ
ÈçÏÂ:
ÀýÈ磬·ÃÎÊdbÊý¾Ý¿âÖеÄstudent¼¯ºÏ£¬Ê¾Àý´úÂëÈçÏÂ:
column=db.student
4.²åÈëÎĵµ
Íù¼¯ºÏÖвåÈËÎĵµµÄ·½·¨Ö÷ÒªÓÐÈçÏÂÁ½¸ö:
(1) insert_one()·½·¨:²åÈËÒ»ÌõÎĵµ¶ÔÏó¡£
(2) insert_many()·½·¨:²åÈËÁбíÐÎʽµÄ¶àÌõÎĵµ¶ÔÏó¡£
²åÈËÒ»ÌõÎĵµµÄʾÀýÈçÏÂ:
try:
client=MongoClient(host='localhost', port=27017)
db=client.mongo_insert
collection=db.student
result=collection.insert_one({'name':'zhangsan', 'age':20})
print(result)
except Exception as error:
print(error)
Êä³ö½á¹ûΪ:
<pymongo.results.InsertOneResult object at 0x0000000034CFF88>
²åÈ˶àÌõÎĵµµÄʾÀýÈçÏÂ:
result=column.insert_many([{'name':'zhangsan', 'age': 20}£¬
{'name': 'lisi', 'age': 21}£¬
{'name': 'wangwu', 'age': 22}])
5.²éѯÎĵµ
ÓÃÓÚ²éÕÒÎĵµµÄ·½·¨Ö÷ÒªÓÐÈçϼ¸¸ö:
(1)find one()·½·¨:²éÕÒ-ÌõÎĵµ¶ÔÏó¡£
(2)find many0·½·¨:²éÕÒ¶àÌõÎĵµ¶ÔÏó¡£
(3)find0·½·¨:²éÕÒËùÓÐÎĵµ¶ÔÏó¡£
ÏÂÃæÒÔfind0·½·¨ÎªÀý£¬½éÉÜÈçºÎ²éѯ¼¯ºÏÖеÄËùÓÐÎĵµ¡£¾ßÌåÈçÏÂ:
try:
client=MongoClient()
db=client.mongo_insert
collection=db.student
result=collection.find({'age': 20})
print(result)
for doc in result:
print(doc)
except Exception as error:
print(error)
Êä³ö½á¹ûΪ:
<pymongo.cursor.Cursor object at 0x00000000038F89B0>
{'_id': objectId('59f420f386d7080f1824d8c1'), 'name':'zhangsan', 'age': 20}
6.¸üÐÂÎĵµ
ÓÃÓÚ¸üÐÂÎĵµµÄ·½·¨Ö÷ÒªÓÐÈçϼ¸¸ö:
(1) update_one()·½·¨:¸üÐÂÒ»ÌõÎĵµ¶ÔÏó¡£
(2) update_many()·½·¨:¸üжàÌõÎĵµ¶ÔÏó¡£
¸üÐÂÒ»ÌõÎĵµµÄʾÀýÈçÏÂ:
collection.update_one({'age': 22}£¬{'$set': {'name': 'zhaoliu'}})
¸üжàÌõÎĵµµÄʾÀýÈçÏÂ:
collection.update_many({'age': 22}, {'$set': {'name': 'zhaoliu'}})
7.ɾ³ýÎĵµ
ÓÃÓÚɾ³ýÎĵµµÄ·½·¨°üÀ¨Èçϼ¸¸ö:
(1) delele_one()·½·¨:ɾ³ýÒ»ÌõÎĵµ¶ÔÏó¡£
(2) delete_many()·½·¨:ɾ³ýËùÓмǼ¡£
ÏÂÃæÒÔdelete_many()·½·¨½øÐоÙÀý£¬½éÉÜÈçºÎ´Ó¼¯ºÏÖÐɾ³ýËùÓеÄÎĵµ¡£¾ßÌå´úÂëÈçÏÂ:
collection.delete_many({})
ͨ¹ý¶ÔÉÏÊö²Ù×÷µÄѧϰ£¬ÊìÁ·µØÕÆÎÕÁËÊý¾Ý¿âµÄÔö¼Ó¡¢É¾³ý¡¢²éÕÒ¡¢Ð޸ĵȻù±¾²Ù×÷Ö®ºó£¬ÔÙȥѧϰºÍÌáÉý¾Í²»»áÔÙÓкܴóµÄÕϰ¡£Êµ¼ÊÉÏ£¬Ê¹ÓÃPyMongo¿â²Ù×÷Êý¾Ý¿âÊǷdz£¼òµ¥µÄ£¬ÒÔºóÈç¹ûÓöµ½¸ü¼Ó¸´ÔÓµÄÐèÇó£¬ÔÚÍøÂçÉϲéһϹ٠·½Îĵµ»òÕß¼¼Êõ²©¿Í£¬Ó¦¸Ã¶¼ÄÜ˳Àû½â¾ö¡£
²ÂÄãϲ»¶£º
PythonÈçºÎʹÓÃpymysqlÁ´½ÓmysqlÊý¾Ý¿â£¿
ÅÀ³æÊʺÏʹÓÃMysql»¹ÊÇMongdb£¿
PythonÈçºÎ°²×°pymysqlÄ£¿é£¿
ÀÖÓãµç¾º¸ß¼¶python+´óÊý¾ÝÅàѵ¿Î³Ì
±±¾©Ð£Çø