Sie können die folgende Abfrage mit $elemMatch
verwenden
um beide Werte des Arrays abzugleichen.
So etwas wie
db.collection_name.aggregate({
"$match": {
"item": {
"$elemMatch": {
"property.0": "attr1",
"property.1": /^\+/
}
}
}
});
Sie können auch $all
verwenden
-Operator, wenn Sie nicht auf den Array-Index verweisen möchten.
db.collection_name.aggregate({
"$match": {
"item": {
"$elemMatch": {
"property": {
"$all": [
"attr1",
/^\+/
]
}
}
}
}
});