我有两个集合,一个是order_master,另一个是product_master。 我需要获取只具有特定的产品名称说“顶”如何在mongodb中连接两个表并从两个表中选择所有的细节?
这里的秩序是我的我的收藏 阶法师
_id
o_type
product_data
->0
->product_id
->shipping_details
Product_master
_id
product_name
product_type
基于产品的名字我
必须选择订单详情
例如:
SELECT * FROM order_master OM内部联接product_master下午pm._id = om.product_data.product_id其中pm.product_name = '顶'
类似这样
如何蒙戈DB写入
我已经试过这样
$collection = $this->mongo_db->db->selectCollection('product_master');
$request = $collection->aggregate(
array(
'$match' => array(
'$and' => array(
array('product_name' => 'top')
)
)
),
array(
'$lookup' => array(
'from' => "order_master",
'localField' => "product_data.p_id",
'foreignField' => "_id",
'as' => "product_data"
)
)
);
只是我的两分钱:MongoDB是不是一个RDBMS的花哨版本。如果你试图用SQL方式建模你的数据,并使MongoDB符合它,那么你会得到两个世界中最糟糕的情况(除了副本集以外)。仔细阅读有关数据建模的文档,并重新考虑您的数据模型。如果您需要加入,那么您的用例过度标准化的可能性非常高。 –