我正在使用蒙戈3.4
我使用的是mongodb的聚合函数。我的问题是,在 $project 中我的值为
{ $project: {
"_id": 1,
"name":1 ,
............
............
"partners.address.country": 1,
"partners.partnerName": 1,
} },
{ $match: matchCondition
}
Run Code Online (Sandbox Code Playgroud)
结果,我得到的价值为
“合作伙伴”:{“地址”:{“国家”:“”}}
我不想要我只是想要它
“合作伙伴”:{“国家”:“”}
我想跳过地址部分。另外,我不想.map在结果之后使用函数,因为$project中有大量数据。有人可以帮忙吗?
我还有一个查询,该查询是 4 个集合的联接(另外 2 个查询我在上面的示例中没有提及)。我想要我的主集合的整个记录和其他集合的2-3条记录,所以,我必须在$project中写入每条记录并将其设置为1。有没有一种方法可以让我们跳过写入每条记录& $project 中的每条记录,我们仍然可以在结果中获取该记录吗?请帮我!提前致谢
我正在尝试在 MongoDB 中实现排序。但我遇到一个问题,我的排序首先包括大写字母 AZ 文本,然后是小写字母。我不想要他们。我希望排序独立于案例。这是我的查询,
var partnerCollection = [
from: "courses",
localField: "_id",
foreignField: "partnerId",
as: "courses"
} },
{
$project:
{
"_id":1,
"partnerName":1,
"phone":1,
"email":1,
"courses.courseName": 1,
"courses.courseType":1,
}
},
{
$match: findUserDataCondition
},
{ $sort: { "partnerName" : 1 } },
{ $skip: start },
{ $limit: length }
];
Run Code Online (Sandbox Code Playgroud)
如果我用 PartnerName 排序,我得到的结果为 ABC, DEF, EFG , bcd, cde
我的预期结果是 ABC、bcd、cde、DEF、EFG。请帮助我解决这个问题