首页 > 解决方案 > 如何通过查找功能检查猫鼬中的存在和空?

问题描述

我想检查一些字段是否为空。该字段可以为空或不存在或为空数组。

到目前为止,我做了一些工作,但没有涵盖“存在”或“空”的时间:

.find({ roles: { '$size': 0 } }, { projection: {} });

一件重要的事情,它必须从.find({ roles: . 所以我不能$or 在这个答案中使用 like。我需要另一种解决方案,方法是将条件传递给 find 函数中的角色对象。

有任何想法吗?

标签: node.jsmongodbmongoose

解决方案


您可以尝试使用$in游乐场

.find({
  roles: {
    $in: [null, 0, []]
  }
})

只有不存在和空值,你可以试试,Playground

.find({
  roles: null
})


推荐阅读