MongoDB4.0 CRUD 操作 --by pymongo

  • query篇

仅为方便查看,内容来源MongoDB官网。https://docs.mongodb.com/manual/tutorial/query-documents/#read-operations-queries

  • 数据准备
db.inventory.insert_many([
    {"item": "journal",
     "qty": 25,
     "size": {"h": 14, "w": 21, "uom": "cm"},
     "color":["red", "blank"],
     "status": "A"},
    {"item": "notebook",
     "qty": 50,
     "size": {"h": 8.5, "w": 11, "uom": "in"},
     "color":["red", "blank"],
     "status": "A"},
    {"item": "paper",
     "qty": 100,
     "size": {"h": 8.5, "w": 11, "uom": "in"},
     "color":["red"],
     "status": "D"},
    {"item": "planner",
     "qty": 75, 
     "size": {"h": 22.85, "w": 30, "uom": "cm"},
     "color":["red", "blank"],
     "status": "D"},
    {"item": "postcard",
     "qty": 45,
     "size": {"h": 10, "w": 15.25, "uom": "cm"},
     "color":["red", "blank", "pink"],
     "status": "A"}
])
  • 查询全部
cursor = db.inventory.find({})    # 查询全部

# 等同于

SELECT * FROM inventory
  • 条件查询
# -------
cursor = db.inventory.find({"status": "D"})
# 等同于
SELECT * FROM inventory WHERE status = "D"


# -------
cursor = db.inventory.find({"status": {"$in": ["A", "D"]}})
# 等同于
SELECT * FROM inventory WHERE status in ("A", "D")
  • and查询 or查询

多条件,默认是and操作。

cursor = db.inventory.find({"status": "A", "qty": {"$lt": 30}})
#等同于
SELECT * FROM inventory WHERE status = "A" AND qty < 30

or操作符

cursor = db.inventory.find(
    {"$or": [{"status": "A"}, {"qty": {"$lt": 30}}]})
# 等同于
SELECT * FROM inventory WHERE status = "A" OR qty < 30

and和or混合使用

cursor = db.inventory.find({
    "status": "A",
    "$or": [{"qty": {"$lt": 30}}, {"item": {"$regex": "^p"}}]})
# 等同于
SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")

未完待续....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值