如何通过Mongoose中的父级字段进行查询?

时间:2014-02-18 10:57:10

标签: node.js mongodb mongoose

我需要的是按照“类别”区域查询产品。

Product
  .find({
        'category.locale' : "en"})

但这是不可能的。我哪里错了?

我的产品架构:

var ProductSchema = new Schema({
  code: {type : String, default : '', trim : true},
  category: {type : Schema.ObjectId, ref : 'Category'}
})

1 个答案:

答案 0 :(得分:3)

在您的产品架构中,类别包含object id形式的引用。

它只是一个_id,因此产品中的类别不存储任何语言环境。

MongoDB中没有连接。 一种解决方案可能是找到与locale ='en'匹配的所有类别,然后将它们用作产品查询的过滤器。

此文档页面包含更多详细信息:http://mongoosejs.com/docs/populate.html