在我的 mongodb 查询中,我使用 $addFields 添加由其他三个字段连接的 ID 字段。我的问题是,如果我将新添加的字段与我要查询的值匹配,则不会得到任何结果。对于其他领域,它们工作得很好。
data = await model.aggregate([
{
$project: {
projectName: 1,
price: 1,
'document': '$$ROOT'
}
},
{
$addFields:{
'document.id': {$concat: ['$document.propertyId.prefix','$document.propertyId.number']}
}
},
{
$match: {
$and: [
{
$or: [
{id: {$regex: '.*' + req.query.search + '.*', $options: "i"}},
{projectName: {$regex: '.*' + req.query.search + '.*', $options: "i"}},
/*This also doesnt work*/
// {'document.id': {$regex: '.*' + req.query.search + '.*', $options: "i"}},
// {'document.projectName': {$regex: '.*' + req.query.search + '.*', $options: …Run Code Online (Sandbox Code Playgroud)