当前正在使用
.find({"strings": {"$elemMatch": {"$in": [/test/si]}}})
在“字符串”数组中查找字符串。现在,我还需要搜索此字符串 HERE
.aggregate([
{
$match: {"_id" : ObjectId("5c5c59c689c4cf027b382999") }
},
{ $project: {
data: {
$filter: {
input: '$data',
as: 'item',
cond: {
--------------------------------- 此处
}
}
}
}}
])
我已经尝试了很多类似的事情,例如:
.aggregate([ {
$match:
{"_id" : ObjectId("5c5c59c689c4cf027b382999") }
},
{ $project: {
data: {
$filter: {
input: '$data',
as: 'item',
cond: { $in: [/test/si, "$$item.strings"] }
}
}
}}
])
我目前无法考虑如何执行此操作。 在3.6版中有什么方法可以做到这一点?
如果您能以任何方式提供帮助:谢谢
问候H.M。
答案 0 :(得分:0)
我做了一个解决方法:
“ $ filter”:{ “ input”:“ $ data”, “ as”:“ item”, “条件”: { “ $ lt”:{-1,{“ $ indexOfBytes”:[“ $$ item.searchString”,“ text”]}}}}
但是如果没有正则表达式,这真的很糟糕 +我无法匹配字符串[] ....
PS:仍在寻求帮助,这真的很重要!!