mongodb多表查询(附带pymongo实例)

Posted 菲菲菲菲菲常新的新手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb多表查询(附带pymongo实例)相关的知识,希望对你有一定的参考价值。

mongodb有$lookup可以做多表查询

举个例子

db.orders.aggregate([
 {
 $lookup:
 {
  from: "inventory",
  localField: "item",
  foreignField: "sku",
  as: "inventory_docs"
 }
 }
])

上面的代码意思是,从order表中取item字段作为inventory表中sku的查询条件,然后把数据保存到inventory_docs字段

等价于db.inventory.find({‘sku‘:"item"})

下面用pymongo实现

from pymongo import MongoClient

def test():
    client = MongoClient()
    db = client[db_name]
    db[orders].aggregate([{$lookup:{from: "inventory", "localField": "item", "foreignField": "sku", "as": "inventory_docs"}}])

这样就实现了上述的效果了

以上是关于mongodb多表查询(附带pymongo实例)的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB/PyMongo:查询多个条件 - 意外结果

带有日期时间的 MongoDB / Pymongo 查询

mongodb, pymongo 查询

mongoDB:从 pymongo 查询时失败分组

使用PyMongo查询MongoDB数据库

MongoDB pymongo模块 查询