Operator MongoDB Nin

Operator MongoDB Nin
Operator $ nin w MongoDB służy do wyboru dokumentów, w których wartość określonego pola nie jest w danej tablicy.

Pozwól nam zbadać, w jaki sposób możemy korzystać z tego operatora.

Składnia operatora

Poniżej pokazuje składnię operatora $ NIN:

pole: $ nin: [,…]

Pozwól nam zbadać, w jaki sposób możemy korzystać z tego operatora.

Rozważ kolekcję z dokumentem, jak pokazano w zapytaniu poniżej:

db.CreateCollection („Posty”)
db.posty.wstrząs
Tytuł: „Post_1”, autor: „autor_1”, rok: 2022, kategoria: [„CAT1”, „CAT2”],
Tytuł: „Post_2”, autor: „autor_2”, rok: 2022, kategoria: [„cat1”, „cat3”],
Tytuł: „Post_3”, autor: „autor_3”, rok: 2022, kategoria: [„CAT3”, „CAT2”]
])

Wybierz niezrównane dokumenty za pomocą operatora $ nin

Poniższe pytanie przykładowe pokazuje, jak używać operatora $ nin do wyboru dokumentów, w których wartość pola autora nie jest równa 1 lub 3.

db.posty.Znajdź (autor: $ nin: [„autor_1”, „autor_3”]);

Powyższe zapytanie powinno wybrać dokumenty, które nie pasują do określonego warunku i zwrócić odpowiednie wyjście.

Przykładem jest jak pokazano:


„_id”: ObjectID („632BF2014E8DEE924A2279AD”),
„Tytuł”: „Post_2”,
„Autor”: „autor_2”,
„Rok”: 2022.0,
"Kategoria" : [
„CAT1”,
„CAT3”
]

Wybierz element nie w danej tablicy za pomocą operatora $ nin

Możemy również użyć operatora $ nin do odfiltrowania dowolnych dokumentów, które nie zawierają danego elementu w tablicy.

Na przykład w poniższym zapytaniu używamy operatora $ nin do odfiltrowania dowolnego dokumentu, który nie zawiera CAT2 w tablicy kategorii.

db.posty.Znajdź (kategoria: $ nin: [„cat2”])

Zgodnie z oczekiwaniami powyższe zapytanie powinno zwrócić dowolne dokumenty, które nie zawierają określonego elementu w tablicy.


„_id”: ObjectID („632BF2014E8DEE924A2279AD”),
„Tytuł”: „Post_2”,
„Autor”: „autor_2”,
„Rok”: 2022.0,
"Kategoria" : [
„CAT1”,
„CAT3”
]

Zaktualizuj dane za pomocą operatora $ nin

Możemy również użyć operatora $ nin z metodą updateOne lub UpdateMany (). Przykładem jest to, jak pokazano poniżej:

db.posty.UpdateMny (kategoria: $ nin: ["cat2"], $ set: wyklucz: true)

W takim przypadku zapytanie powinno zaktualizować kolekcję o dokumenty, które nie pasują do określonego warunku.

Wniosek

W tym poście omówiliśmy, w jaki sposób możemy użyć operatora $ nin w MongoDB do wyboru niezrównanych dokumentów, wybierania dokumentów nie w danej tablicy itp.