Vous pouvez utiliser la requête ci-dessous avec $elemMatch
pour faire correspondre les deux valeurs du tableau.
Quelque chose comme
db.collection_name.aggregate({
"$match": {
"item": {
"$elemMatch": {
"property.0": "attr1",
"property.1": /^\+/
}
}
}
});
Vous pouvez également utiliser $all
opérateur si vous ne souhaitez pas référencer l'index du tableau.
db.collection_name.aggregate({
"$match": {
"item": {
"$elemMatch": {
"property": {
"$all": [
"attr1",
/^\+/
]
}
}
}
}
});