0
私はRobomongoでそれを実行することができますが、私はこのコードを試してみたが、遠かっnullを返すC#Mongo C#でネストされたリストを検索するには?
db.getCollection('package').find({'Items': {$elemMatch: {'Coupons': {$elemMatch:{_id : 33944115}}}}})
でこれを行う方法を知りません。
var filter = Builders<Coupon>.Filter.Eq(coupon => coupon.Id, 33944115);
var filter1 = Builders<Item>.Filter.ElemMatch(item => item.Coupons, filter);
var filter2 = Builders<Package>.Filter.ElemMatch(package => package.Items, filter1);
var result = PackageCollection.Find(filter2).FirstOrDefault();
私のクラス:
public class Package
{
public int Id { get; set; }
public IList<Item> Items { get; set; }
}
public class Item
{
public int Id { get; set; }
public IList<Coupon> Coupons { get; set; }
}
public class Coupon
{
public int Id { get; set; }
}