sql >> Database >  >> NoSQL >> MongoDB

MongoDB + C#-stuurprogramma + query-array van elementen waarbij elk array-element een subdocument bevat om op te zoeken

Probeer dit in plaats daarvan

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

Vraagt ​​u zich af waarom deze query op magische wijze werkt? Het is het geval (StatusId vs StatusID ). JavaScript is hoofdlettergevoelig.

U kunt dit probleem oplossen door sterk getypte Linq-query's te gebruiken, zoals:

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



  1. Moet ik redis gebruiken om een ​​groot aantal binaire bestanden op te slaan?

  2. Socket.io, Redis Store en IE

  3. Unicode in python

  4. MongoDB $week