我有2个集合:文档和类型。 在Docs中我有文件:
{
'_id': ObjectId('0000'),
'name': 'someName',
'type': ObjectId('1111') // id i have
}
在类型中:
{
'_id': ObjectId('2222'),
'for': 'Docs',
'types': [
{
'_id': ObjectId('1111'), // type i need
'name': 'someType' // want to get this name
}
// , and so on
]
}
Docs.findOne({_id: '0000'})
之后我有type = ObjectId('1111')
(id为'someType')。获取someType的名称值的最佳方法是什么?
答案 0 :(得分:0)
您可以在findOne
的字段选择参数中使用$
位置运算符来提取匹配元素:
Types.findOne({'types._id': someTypeId}, {'types.$': 1}, function (err, type) {
if (type) {
console.log('Type name is: ' + type.types[0].name);
}
});