如何解决在Mongodb中查找不具有字符串“ stag”的文档
我正在使用MongoDB,我的文档有一个图像名称。我的一些文档的字符串concat的图像名称为例如
不包含带有图像名称的“ stag”字符串的图像文档
{
"_id" : ObjectId("5e0be79bc6f0fc699030b472"),"isPublished" : 1,"width" : 500,"height" : 341,"shared_by" : [],"saved_by" : [
"5e0e01fcc6f0fc112953c05c","5e10091fc6f0fc19552773be","5e133a3ec6f0fc4e6b0cd5b4"
],"img" : "1577838487.png","deploy_date" : ISODate("2020-01-01T12:00:00.000Z"),"updated_at" : ISODate("2020-01-01T00:28:11.000Z"),"created_at" : ISODate("2020-01-01T00:28:11.000Z")
}
带有“ stag”字符串并带有图像名称的图像文档
{
"_id" : ObjectId("5e0be79bc6f0fc699030b472"),"img" : "stag/1577838487.png","created_at" : ISODate("2020-01-01T00:28:11.000Z")
}
我想获取img字段中不包含“ stag”字符串的所有文档。
我如何在不进行聚合的情况下在MongoDB中做到这一点?
解决方法
您可以使用$indexOfBytes运算符,如果字符串中不包含短语则返回-1
:
db.collection.find({ $expr: { $eq: [ { $indexOfBytes: [ "$img","stag" ] },-1 ] } })
,
您可以使用$regex,^
,它将从字符串的开头开始匹配,
db.collection.find({
img: {
$not: { $regex: /^stag/ }
}
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。