为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB agggate 中的 NOT LIKE 查询

MongoDB agggate 中的 NOT LIKE 查询

PHP
慕田峪7331174 2021-06-19 15:05:33
我有一个查询,我想在其中not like使用aggregate $matchand实现查询$regex。我想要的结果不具有nophoto的image url。所以我写的 $match 查询是[  '$match'=>[    'author.image'=>[      '$ne'=>[        '$regex'=>'/nophoto/'      ]    ]  ]],但结果还是[  {    _id: {      $oid: "5cc2b26236d94e620335b6a3"    },    image: "https://images.gr-assets.com/authors/1397937527p7/46603.jpg"  },  {    _id: {      $oid: "5cc2b26236d94e620335b6a4"    },    image: "https://images.gr-assets.com/authors/1397937527p7/46603.jpg"  },  {    _id: {      $oid: "5cc2b26236d94e620335b6a5"    },    image: "https://s.gr-assets.com/assets/nophoto/user/u_333x500-46491541e26dbeac15f51487d68dd207.png"  },  {    _id: {      $oid: "5cc2b26236d94e620335b6a6"    },    image: "https://s.gr-assets.com/assets/nophoto/user/u_333x500-46491541e26dbeac15f51487d68dd207.png"  }]  我希望结果集没有nophoto在他们的图像 url 中。
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

您必须使用$notquery to 运算符来反对$regex字符串。


db.collection.find({

  'image': {

    '$not': {

      '$regex': "nophoto"

    }

  }

})

在 PHP 中它看起来像这样


[

  '$match'=>[

    'image'=>[

      '$not'=>[

        '$regex'=>'nophoto'

      ]

    ]

  ]

]

蒙戈游乐场


查看完整回答
反对 回复 2021-06-25
  • 1 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信