如何解决Mongo Db 如何检测管道中的错误?
我需要在两个条件下加入两个集合。
products:
{
...
sku: "4234",organizationId: ObjectId("asdasdasd);
...
};
order_history:
{
...
itemSku: "4234",organizationId: ObjectId("asdasdasd);
...
}
我选择了管道方法:
$lookup: {
from: 'order_history',let: { foreign_sku: "$itemSku",foreign_organizationId: "$organizationId" },pipeline: [
{
$match: {
$expr: {
$and: [
{ $eq: ["$organizationId","$$foreign_organizationId"] },{ $eq: ["$sku","$$foreign_sku" ] }
]
}
}
}
],as: 'order_history'
}
我是根据 Mongo 文档编写的,但我的条件被忽略了。 我的结果是标量乘法。我的错误在哪里?
解决方法
我已经在评论中提到了,代码在下面
db.products.aggregate([
{
$lookup: {
from: "order_history",let: {
foreign_sku: "$sku",foreign_organizationId: "$organizationId"
},pipeline: [
{
$match: {
$expr: {
$and: [
{
$eq: [
"$organizationId","$$foreign_organizationId"
]
},{
$eq: [
"$itemSku","$$foreign_sku"
]
}
]
}
}
}
],as: "order_history"
}
}
])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。