mongodb - 在 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"),
"isPublished" : 1,
"width" : 500,
"height" : 341,
"shared_by" : [],
"saved_by" : [
"5e0e01fcc6f0fc112953c05c",
"5e10091fc6f0fc19552773be",
"5e133a3ec6f0fc4e6b0cd5b4"
],
"img" : "stag/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")
}
我想获取所有 img 字段不包含“stag”字符串的文档。
如何在没有聚合的情况下在 MongoDB 中执行此操作?
解决方案
您可以使用$indexOfBytes-1
运算符,如果字符串中不包含短语,则返回:
db.collection.find({ $expr: { $eq: [ { $indexOfBytes: [ "$img", "stag" ] }, -1 ] } })
推荐阅读
- excel - 从表集中复制过滤的数据并将其粘贴到另一个工作表的下一个空行
- node.js - NodeBB - Post Reputation/Likes - 查找哪些用户喜欢一个帖子
- php - 查询不返回任何内容 php
- python - 字典中没有找到的词不能被考虑
- python - 返回时Django聚合字段错误
- javascript - 如何使用 Javascript 更改列的 HTML 类型
- windows - 如何在 Inno Setup 的预处理器函数中使用预处理器变量
- string - 当计算内部没有值时,将显示 NaN。如何在 SwiftUI 中改为显示“0”或“-”
- apache - .htaccess 文件,用于将域重定向到子文件夹
- docker - How do you identify the docker image an image was built from?