我有两个记录,订单和用户,我的订单有一个用户的对象ID,这是我的记录:
订单:
{
"_id" : ObjectId("56ea382b3c21a4a74591dc99"),
"user" : ObjectId("56ea382b3c21a4a74591dc98"),
"created" : 1458190379858
}
和用户:
{
"_id" : ObjectId("56febb7b4597977168894445"),
"phone" : "09197377057",
"created" : 1459170746688,
}
如何找到用户手机的订单,例如“09197377057”
mongodb或mongoose有可能找到这样的东西吗?
答案 0 :(得分:2)
$lookup 就是您所需要的。
db.order.aggregate({
$lookup: {
from: "user",
localField: "user",
foreignField: "_id",
as: "order_user"
}
}, {
$match: {
"order_user.phone": "09197377057"
}
});