我有一个模特
让我们说
var ModelA= new Schema({
x:string,
y:refrence to model y
})
然后在模型y
var ModelY=new Schema({
hidden:{type:Boolean,default:false},
z:reference to model z
})
再次在模型z中,我有多个字段
var ModelZ=new Schema({
p:string,
q:number
... and other fields
})
所以我的查询采用这种方式填充所需结果
ModelA.find({x:1}).populate('y')
因此,在填充y之后,我想填充(z)具有hidden == true的那些文档,否则保留原样(即ObjcectId)
请提出查询建议 谢谢
答案 0 :(得分:0)
您可以执行以下操作
Productos productos = new Productos();
var Lista5Top = (from vendidos in vtas.lstVentas
join prod in productos.lstProductos on vendidos.ProductoId equals prod.id
select new { id = vendidos.ProductoId, rut = vendidos.clienteRut, name = prod.name })
.OrderBy(x => x.id)
.GroupBy(x => x.id)
.Select(x => new { id = x.Key, cont = x.Count(), name = x.FirstOrDefault().name })
.OrderByDescending(x => x.cont)
.Take(5).ToList();
但是我建议您使用$lookup
查询来代替填充