小编guy*_*guy的帖子

猫鼬返回默认值而不是空值

我有一个集合,其中包含名字和姓氏的字段,这些字段是可选的并且根本无法设置。

但是,我需要查询它们的串联以搜索全名,但如果未设置其中一个名称,则串联的返回值为 null。

如果未设置名称,有没有办法返回/连接默认值(空字符串)?

我想做类似的事情:

db.User.aggregate([
  {
    $project: { firstName: '$firstName' || '' },
    $project: { lastName: '$lastName' || '' },
    $project: { fullName: { $concat: ['$firstName', ' ', '$lastName'] } }
  }
]);
Run Code Online (Sandbox Code Playgroud)

甚至:

db.User.aggregate([
  {
    $project: {
      firstNames: {
        $cond: {
          if: { $exists: [false] },
            then: '',
            else: '$firstName'
        }
      }
    },
    $project: {
      lastNames: {
        $cond: {
          if: { $exists: [false] },
          then: '',
          else: '$lastName'
        }
      }
    },
    $project: {
      fullName: {
        $concat: ['$firstNames', ' …
Run Code Online (Sandbox Code Playgroud)

null mongoose mongodb

4
推荐指数
1
解决办法
3084
查看次数

标签 统计

mongodb ×1

mongoose ×1

null ×1