首页 > 解决方案 > How to get element property from array in Mongoose?

问题描述

I have document structure like this in my schools collection MongoDB document

I am searching school by its code from array of codes School.findOne({ 'codes.code': '12345678' }) and I am getting my school but I also want to get code.type property from code object where my code is 12345678. Should i use javascript Array.find?

标签: mongodbmongoose

解决方案


你可以做的是选择匹配的数组元素

School.find({ 'codes.code': '12345678' }, {"codes.$":1})

否则,是的,您需要在数组中找到元素:

var myschool = School.find({ 'codes.code': '12345678' })[0]
myschool.codes.find(c => c.code == '12345678')

推荐阅读