NoSQL - dodatnie plci do kolekcji

0

Mamy utworzoną kolecję:

db.users.insert([
{name:"Jan",last_name:"Kowalski"},
{name:"Jan",last_name:"Nowak"},
{name:"Alicja",last_name:"Babacka"},
{name:"Aleksander",last_name:"Wielki"},
{name:"Ola",last_name:"Gwint"},
{name:"Juliusz",last_name:"Cezar"},
{name:"Anna",last_name:"Nowak"}
])

Używając funkcji: update({},{$set:{}}) dodaj informację o płci.

To co mi przyszło to głowy to na podstawie ostatniej litery w imieniu: jesli A to "kobieta", else "mężczyzna".

db.users.update({"name":{$regex:"a$"}},
{$set:{"gender":"kobieta"}},{multi:true});

Napisałem update dla kobiet. Tylko czy moge do tego jakoś dodać else żeby obsłużyć też mężczyzn?
Czy jak to zrobić inaczej?

0

Gdyby ktoś był ciekawy to wyprodukowałem coś takiego:

db.users.bulkWrite(
[
{ updateMany :
{
"filter" : {"name":{$regex:"a$"}},
"update" : {$set: {"gender":"kobieta"}}
}
},
{ updateMany :
{
"filter" : {"name":{$regex:"[^a]$"}},
"update" : {$set:{"gender":"mężczyzna"}}
}
}
],
{ordered: false}
);

Działa.
Ale jak zauważył kolega @fporzo, założenie jest z d**y i przydałaby się obsługa wyjątków. Np coś takiego: https://books.google.co.uk/books?id=xOvOZWqB_J8C&pg=PA157&lpg=PA157&dq=ostatnia+litera+imion+kobiecych+polska&source=bl&ots=bxOgvTfutd&sig=ACfU3U1a9FwG7wBaiqTPr-yj10Tvt3jZRQ&hl=en&sa=X&ved=2ahUKEwjBx4_H-sDiAhWqSRUIHSKaBPk4ChDoATABegQICRAB#v=onepage&q=ostatnia%20litera%20imion%20kobiecych%20polska&f=false

Ale czy warto się w to bawić mając 7 dokumentów w kolekcji?

Czekam na lepsze propozycje, jeśli ktoś jakąś ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1