pymongo使用笔记

1. 连接

这里只记录无auth连接方式。

import pymongo
ip = 'xxxxxx'
client = pymongo.MongoClient(ip, 27017)

2. 创建数据库

创建数据库douban_books

db = client.douban_books

3. 添加文档

这里对douban_books数据库的book集合进行操作。book集合不需要事先创建。
记录两种添加方式:db.collection.insert_onedb.collection.insert_many

# db.book.remove({}) 清空
book1 = {'book_id': 1001, 'author': '吴承恩', 'book_name': '西游记', 'price': 22, 'public': '清华大学出版社'}
book2 = {'book_id': 1002, 'author': '曹雪芹', 'book_name': '红楼梦', 'price': 20, 'public': '清华大学出版社'}
book3 = {'book_id': 1003, 'author': '施耐庵', 'book_name': '三国演义', 'price': 20, 'public': '清华大学出版社'}

db.book.insert_one(book1)
db.book.insert_many([book2, book3])

4. 查询文档

记录两种添加方式:db.collection.find_onedb.collection.find

  • db.collection.find_one返回的是dict对象
  • db.collection.find返回的是pymongo.cursor.Cursor对象,可以转换为list
print(db.book.find_one({'book_id': 1001}))

results = db.book.find()
for result in results:
    print(result)

5.特殊查询

在这里插入图片描述
and查询

print(db.book.find_one({"$and": [{"price": {"$gt": 20}}, {"public": "清华大学出版社"}]}))

or查询

res = db.book.find({"$or": [{"price": {"$lt": 15}}, {"price": {"$gt": 19}}]})
# pymongo.cursor.Cursor.count() 返回查找到的元素总数
print(res.count())
for elem in lst:
    print(elem)

6. 排序

排序sort()
调用sort方法,传入要排序的字段and升降序标志即可,默认是升序ASCENDING, 降序为DECENDING


results = db.book.find().sort('price', pymongo.DESCENDING) 
print([result['book_name'] for result in results])

#多列排序,注:ord('三')<ord('红')
results = db.book.find().sort([
  ("price", pymongo.DESCENDING), ("book_name", pymongo.ASCENDING)
])
print([result['book_name'] for result in results])

待补

发布了673 篇原创文章 · 获赞 644 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/zhaohaibo_/article/details/105320687
今日推荐