如何查询数组中的嵌入式文档 - MongoDB?

时间:2017-03-04 21:40:30

标签: mongodb mongodb-query

我试图查询我创建的嵌入式文档,其中包含以下模型:用户拥有Facebook帐户和商家(emprendimiento)。 'emprendimiento'有categoriesias_asociadas,这是一个空数组,它将从表单标签(买入,卖出或投资)中接收其价值。

我想查询所有拥有emporendimiento且具有买入,卖出或投资的catogorias_asociadas的用户。**

我正在寻找类似的东西:

Users.find({'emprendimiento.categorias_asociadas': {$all: 'Buy'}})

var userSchema = mongoose.Schema({
    facebook: {
        id: String,
        token: String,
        email: String,
        name: String,
        photo: String
    },
    emprendimiento: { 
        nombre:String,
        slogan:String,  
        logo:String,
        web:String,
        categorias_asociadas: [],
        about: String,
        quevende: String,
        ubicacion: String,
        descripcion: String
    }
});

之前我在另一个模型中使用'emprendimiento'时,我已经完成了类似的事情:

var emprendimientoSchema= new mongoose.Schema({
    nombre:String,
    slogan:String,
    logo:String,
    categorias_asociadas: []
    });

var Emprendimiento = mongoose.model('Emprendimiento', emprendimientoSchema)

通过执行此查询,我能够过滤所有在其categorias_asociadas中具有compraVenta(Buy)的emprendimiento。

Emprendimiento.find({categorias_asociadas:{$all:["buy"]}}, function (err, compraventa) {
        if (err) {
            console.log(err)
        }
        else {
do something here 
          }
});

提前致谢:)

1 个答案:

答案 0 :(得分:0)

这很有效:)

 Users.find({'emprendimiento.categorias_asociadas': {$all: ['Buy']}})