猫鼬选择返回对象ID
Posted
技术标签:
【中文标题】猫鼬选择返回对象ID【英文标题】:mongoose select returns object id 【发布时间】:2021-08-20 21:45:33 【问题描述】:我试图从我的架构内的数组中的对象中选择一个字符串(“代码”),看起来像这样:
const userSchema = new Schema(
username: String,
googleId: String,
email: String,
snippets: [
types: [type: String],
code: type: String
]
)
我使用 _id 属性来查找特定的 sn-p(在“sn-ps”数组中,每个对象都有自己的 _id 属性),如下所示:
User.find( 'snippets._id': req.params.id).select("code").then((snippet)
但是我只得到用户 _id 而不是“代码”,老实说,我不知道出了什么问题,所以任何帮助将不胜感激!
【问题讨论】:
没有名为“code”的***字段,select("snippets.code")
的行为是否不同?
是的,现在它只从所选用户返回我所有的“代码”sn-ps,有没有办法可以通过一个值(如 _id 属性)过滤这些结果并只返回那个一? - 收到数组后不循环遍历数组,所以我在“select”函数内部猜测?
可能在客户端使用Array.filter
,或者使用聚合:***.com/questions/3985214/…
【参考方案1】:
我通过使用带有过滤器的聚合解决了这个问题
【讨论】:
以上是关于猫鼬选择返回对象ID的主要内容,如果未能解决你的问题,请参考以下文章