在我使用MongoDb数据库的NodeJs应用程序中,我有两个集合products
和market_companies
,这两个集合都有字段名hub_id
和dimensions
,其中dimensions
是对象字段。我创建了聚合管道,在两个集合中比较hub_id
和dimensions
字段,但在这里比较的是hub_id
products
集合是integer
,但在market_companies
中是string
,因此我没有得到所需的输出。
我想知道如何将market_companies
集合中的字符串转换为整数。
下面是我的代码:
db.products.aggregate([
{
$lookup: {
from: "market_companies",
let: {
hubId: "$hubId",
dimensions: "$dimensions"
},
as: "companies",
pipeline: [
{
$match: {
$expr: {
$and: [
{
$eq: [
"$hubId", // How to convert this into Integer
"$$hubId"
]
},
{
$setEquals: [
{
"$objectToArray": {
$ifNull: [
"$dimensions",
{}
]
}
},
{
"$objectToArray": {
$ifNull: [
"$$dimensions",
{}
]
}
}
]
}
]
}
}
},
]
}
}
])
有人让我知道任何帮助感激。
1条答案
按热度按时间k97glaaz1#
您可以使用$toInt运算符执行此操作: