gpt4 book ai didi

node.js - Mongoose - 如何在 Mongoose 中的填充字段数组中选择特定对象?

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:09 25 4
gpt4 key购买 nike

我已经在 Mongoose 中填充了一个虚拟,填充的虚拟将检索一个对象数组。

 objects:{[name:'xxx',age:20],[name:'yyy',age:21],[name:'zzz', age:23]}

如何使其只检索我指定的一个元素?

...
.populate({
path:'someVirtual',
select:'objects', //get only the 'objects' array
options: {where:'objects',elemMatch:{name:'zzz'}} //this is what I tried
//but it doesn't work
)}
.exec(function(err,docs){
//handle
});

最佳答案

您可以在填充中使用match

.populate({
path:'someVirtual',
match: { objects: { $elemMatch: { name: 'zzz' } } },
select: 'objects'
})

如果你想使用投影那么

.populate({
path:'someVirtual',
match: { objects: { $elemMatch: { name: 'zzz' } } },
select: { objects: { $elemMatch: { name: 'zzz' } } }
})

关于node.js - Mongoose - 如何在 Mongoose 中的填充字段数组中选择特定对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51010908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com