【发布时间】:2021-11-09 17:57:33
【问题描述】:
我在这里搜索了 MongoDB 文档和类似问题,但一无所获,感谢任何帮助、URL、提示等。
我有一组看起来像这样的图片数据:
_id:613d39715c451ffa34ca792c
origPicFile:"C:\Users\Fadil\Pictures\2010\DSC05791.JPG"
created:"2021-09-11T18:19:13.652263"
.....
EXIF:
ImageModel:"DSC-N2"
EXIFDateTimeOriginal:"2010:01:15 18:27:18"
日期时间范围在 1994 年至 2021 年之间。我正在寻找所有不同年份的照片
找不到带有“substr”的“distinct”。
为了使事情进一步复杂化,我想要一个独特的 substr 加号(或或),这意味着如果 EXIF 没有 EXIFDateTimeOriginal,那么我从 origPicFilename 中获取年份。
即我正在寻找这样的东西:
if EXIF.EXIFDateTime is populated then get the distinct of:
$substr: [ "$EXIF.EXIFDateTimeOriginal", 0, 4 ]
else give me distinct
$substr: [ "$origPicFile", 24, 4 ]
谢谢
【问题讨论】:
-
您可以尝试聚合查询来获取不同的值 - 请参阅
$group阶段。此外,聚合查询支持各种运算符来使用现有数据并将其转换为您的需要 - 请参阅聚合字符串运算符,如$substrCP。 -
是的,这就是我最终所做的,但正如您在下面的回答中看到的那样,它并不能解决整个问题。但感谢您的评论