收藏
回答

这个应该是aggregate的bug吧?

db.collection('gcgy').aggregate()
.match({
currentprocessname: {
$regex: '.*包装.*',
$regex: '.*测试.*',
$options: '1'
},
})
.group({
_id: {
company: '$company',
barcode: '$barcode',
},
})
.limit(1000)
.end()

返回数据:
[
  {
    "_id": {
      "company": "四川航昱微电子科技有限公司",
      "barcode": "2204008"
    }
  },
  {
    "_id": {
      "company": "四川航昱微电子科技有限公司",
      "barcode": "2204006"
    }
  },
  {
    "_id": {
      "company": "四川航昱微电子科技有限公司",
      "barcode": "2204005"
    }
  }
]

我把包装和测试颠倒下就得出不同的结果
db.collection('gcgy').aggregate()
.match({
currentprocessname: {
$regex: '.*测试.*',
$regex: '.*包装.*',
$options: '1'
},
})
.group({
_id: {
company: '$company',
barcode: '$barcode',
},
})
.limit(1000)
.end()

返回数据:
[]

这是啥情况啊?感觉云开发数据库操作有好多BUG呀!
这个集合的数据是这样的

是不是不能用两个$regex啊,好像用多个$regex后只有最后一个生效


最后一次编辑于  2022-04-16
回答关注问题邀请回答
收藏

1 个回答

  • 巨灵鸟
    巨灵鸟
    2022-04-16

    不好意思,我知道什么问题了,已解决

    2022-04-16
    有用
    回复
登录 后发表内容