文件的示例格式:
{
"_id": {
"$oid": "5e158e2de6facf7181cc368f"
},
"word": "as luck would have it",
}
我正在尝试使用以下表达式来匹配多个条件:
query = {
"$match": {
"$expr": {"$eq": [{"$strLenCP": "$word"}, 6],
'$lt': [
{
'$size': {
'$split': [
"$word",
" "
]
}
},
2
]
}
}
}
管道的流程如下:
pipeline = [query]
cursor_objects = db['test'].aggregate(pipeline)
在上述查询中,我试图实现单词长度必须为6且不包含任何空格的条件。
但是在这样做时,我遇到了一个错误:
pymongo.errors.OperationFailure: An object representing an expression must have exactly one field: { $eq: [ { $strLenCP: "$word" }, 6 ], $lt: [ { $size: { $split: [ "$word", " " ]
请问如何实现这个功能?
非常感谢任何帮助,TIA(提前致谢)。