MongoDB:检查值是否为空或数组是否为空

标签 mongodb mongoose

我想匹配所有不包含“公司”属性或“公司”值为空或空数组的文档。

User.find({Company: {$in: [null, [] ]}}, function (err, users) {
      if (err) { throw err; }
      console.log(users.length);

}).then(function(doc) {
      console.log("finish User Company");
});

最佳答案

您可以使用 $or 查询运算符检查每个条件:

{
  $or: [{
    // Check about no Company key
    Company: {
       $exists: false
    }
  }, {
    // Check for null
    Company: null
  }, {
    // Check for empty array
    Company: {
       $size: 0
    }
  }]
}

关于MongoDB:检查值是否为空或数组是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51379744/

相关文章:

arrays - 为什么我的数组在 React 中接收它的函数处为空?

mongodb - 根据字段的存在或不存在在投影管道中实现 mongo $cond 字段

mongodb - 找不到 $match 时 $addFields

mongodb - AKS mongodb 不断崩溃 : connect ECONNREFUSED

javascript - 如何获取在另一个模型中定义的 Mongoose 数据库的架构

c# - MongoDB 查找方法返回类名

node.js - Mongoose DBRef 删除原始模式删除以删除 DBRef 并从 DBRef 数组中拉出

javascript - NodeJS + Mongoose 等待子查询

node.js - 预填充数据库-nodejs + mongodb

node.js - 与 MongoDB 匹配值范围