sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB + ovladač C# + pole dotazů prvků, kde každý prvek pole obsahuje dílčí dokument, na který se má dotazovat

Zkuste to místo toho

Query.ElemMatch("Children", Query.And(Query.EQ("StatusId",1), Query.EQ("Active",true),Query.LT("SubChild.ExpiresOn",DateTime.UtcNow)));

Ptáte se, proč tento dotaz magicky funguje? Je to tak (StatusId vs StatusID ). JavaScript rozlišuje velká a malá písmena.

Tento problém můžete odstranit použitím silně zadaných Linq dotazů, jako:

from x in collection.AsQueryable()
where x.Children.Any(child => 
    child.StatusId == 1 
    && child.Active 
    && child.SubChild.ExpiresOn < DateTime.UtcNow)
select x



  1. Aktualizujte položku v poli, které je v poli

  2. Spring Data MongoDB:Projekce a agregace

  3. Vícenásobné odkazy na schéma v jednom poli schémat - mongoose

  4. Provozní databáze v CDP