按带有对象数组的字符串文档过滤

时间:2020-08-27 14:58:52

标签: node.js mongodb express mongoose mean-stack

我有一个架构,该架构具有一些属性和对象数组作为属性之一,例如:

const Project = mongoose.Schema({
  _id: String,
  name: String,
  comments:[String]
  date: Date,
  tests:[{
          description: String,
          comments:[String]
        }]
});

我希望能够过滤包含某些字符串的所有文档。

查询应在“项目”模式的“名称”字段内以及描述字段中的测试对象内搜索字符串。 并返回包含字符串的所有文档(以项目名称或他的测试描述之一)

1。我应该使用哪种查询?

2。相同的问题,但除了描述外,还过滤了架构和测试注释字段

1 个答案:

答案 0 :(得分:0)

Project.find({ $or: [ {name: 'something'}, {comments: 'something'}, {'tests.description': 'something' }, {'tests.comments': 'something'} ] })

让我知道这是否对您有用。