mongodb-聚合-$unwind$not
我在mongodb中的聚合有点问题 乌西尼亚收藏:mongodb-聚合-$unwind$not,mongodb,Mongodb,我在mongodb中的聚合有点问题 乌西尼亚收藏: { "_id" : ObjectId("5a5e404e6494620e7471c51a"), "uczelnia" : "Politechnika Czestochowska", "miasto" : "Czestochowa", "ulica" : "Armii Krajowej 1", "doktorzy" : [ { "imie" : "Janina", "nazwisko" : "K
{
"_id" : ObjectId("5a5e404e6494620e7471c51a"),
"uczelnia" : "Politechnika Czestochowska",
"miasto" : "Czestochowa",
"ulica" : "Armii Krajowej 1",
"doktorzy" : [
{
"imie" : "Janina",
"nazwisko" : "Kowalska"
},
{
"imie" : "Dorota",
"nazwisko" : "Janiak"
},
{
"imie" : "Andrzej",
"nazwisko" : "Duda"
}
]}
{
"_id" : ObjectId("5a5e40636494620e7471c51b"),
"uczelnia" : "Politechnika Wroclawska",
"miasto" : "Wroclaw",
"ulica" : "Jodlowa 15",
"doktorzy" : [
{
"imie" : "Jolanta",
"nazwisko" : "Kanar"
},
{
"imie" : "Mateusz",
"nazwisko" : "Laskowski"
},
{
"imie" : "Piotr",
"nazwisko" : "Potrzebny"
}
]}
我的总数:
db.uczelnia.aggregate([{
$match: {$unwind: "$doktorzy.imie"{$not: /a$/}}},{
$group: {_id: "$doktorzy.imie", liczba_Pan:{$sum:1}}},{
$sort: { liczba_Pan: 1 }}]);
我想在一个列表中找到所有医生(doktorzy)女性(名字中的最后一个字母a)
学校(乌塞尔尼亚)。
伊米(姓名)
告诉我我在这里做错了什么,谢谢你在1个展开管道阶段无法做到这一点。 第一个操作是展开阵列,然后进行匹配和重组。 我将您的聚合更改为:
db.collection.aggregate(
[
{
$unwind: "$doktorzy"
},
{
$match: {
"doktorzy.imie" : { $regex : "a$", $options : "i"}
}
},
{
$group: {_id: "$doktorzy.imie", liczba_Pan:{$sum:1}}
},
]);
匹配是一个regex忽略大小写并匹配以“a”结尾的imie