Mongo / Mongoose — количество пустых двойных вложенных массивов

#node.js #mongodb #mongoose #aggregation-framework

#node.js #mongodb #mongoose #агрегация-фреймворк

Вопрос:

У меня есть следующая схема mongoose:

 var RowSchema = new Schema({
  value: String,
  createdAt:{
    type: Date,
    'default': Date.now
  }
});

var ColumnSchema = new Schema({
  rows: [RowSchema],
  createdAt:{
    type: Date,
    'default': Date.now
  }
});

var ItemSchema = new Schema({
  _id: {
    type: String,
    unique: true,
    'default': shortid.generate
  },
  name: String,
  columns: [ColumnSchema],
  createdAt:{
    type: Date,
    'default': Date.now
  }
})
  

Я хочу запустить запрос, чтобы найти все Item , которые содержат нулевые строки во всех столбцах. Итак, я знаю, как найти пустой массив:

 Item.find({ columns: { $exists: true, $eq: [] } })
  

Но я хочу что-то вроде

 Item.find({ 'columns.rows': { $exists: true, $eq: [] } })
  

Ответ №1:

попробуйте

 Item.find({ 'columns.rows': {$in: [] } })