我试着做一个ocr处理队列索引:
1.按创建日期排序,以最先获得最新版本
1.仅过滤不带或带初始状态的条目
为此,我想做一个像这样的部分过滤器表达式:
{
"$or": [
{ OcrInfo: null },
{ OcrInfo.State: "NotYetProcessed" }
]
}
过滤器在mongodb compass中工作,但我不能在UI或控制台上创建它:
Compass UI告诉我:
错误的PartialFilterExpression:语法错误:JSON中位置19处应为属性名称或“}”
当我在罗盘控制台运行这个...
db.DocsToProcess.createIndex(
{ "CreatedAt": -1 },
{ partialFilterExpression: {
{
"$or": [
{ OcrInfo: null },
{ OcrInfo.State: "NotYetProcessed" }
]
}
}
)
…它告诉我:
根据文档,$or
在部分过滤器表达式中应该是可能的。知道问题是什么吗?
1条答案
按热度按时间ie3xauqp1#
是一个错字。感谢ChatGTP找到它(难以置信)。
但是在我的MongoDB版本(v5.0.5)上也还不支持这个操作符。需要升级。