MongoDB查询无法正常工作,返回缺少的项目

时间:2020-02-12 13:11:57

标签: javascript node.js mongodb

我有一个查询,搜索ItemA个文档,其中有一个字段itemB。该查询返回所有ItemA个文档,但仅返回具有itemB的{​​{1}}个属性。

image.deleted = false

与此有关的问题是,如果对于某个特定的const itemAs = await ItemA.aggregate([ { $match: { "itemB.deleted": false } }, { $project: { itemB: { $filter: { input: "$itemB", as: "itemB", cond: { $eq: ["$$itemB.deleted", false] } } }, date: 1 } } ]); ,所有itemB文档都已被删除,并将其设置为true,则此查询将不会返回该ItemA。无论ItemA已删除多少ItemA设置为itemB,都应始终返回true

我的模式:

const itemASchema = new Schema({
  itemBs: [
    {
      url: {
        type: String,
        default: null
      },
      deleted: {
        type: Boolean,
        default: false
      },
    }
  ],
  date: {
    type: Date,
    default: Date.now
  }
});

如何解决此查询,以使其不仅返回设置为itemB的{​​{1}}元素,而且始终返回false文档,即使其所有{{1} }设置为ItemA

0 个答案:

没有答案