Par exemple, il existe un ensemble de données :
name: 'food',
data: {
fruit: [
{
name: 'apple',
stock: 10
},
{
name: 'pear',
stock: 66
}
...
]
}
db.col.find({'data.fruit.stock': 66}, {data.fruit.stock: 1})
La requête porte sur l'intégralité du data.fruite
;
Q1 : Existe-t-il un moyen d'obtenir uniquement les données interrogées par le filtre ? Que se passe-t-il si la taille de l'objet du document est relativement grande ?
Q2 : Est-ce une fonctionnalité de Mongodb ? Après avoir satisfait à la condition de filtre, l’intégralité de l’objet document est-elle renvoyée ?
Q3 : Existe-t-il une documentation API dans ce domaine à laquelle je peux me référer ?
La question posée par l'interrogateur est en fait liée au compromis entre le modèle de données et la requête métier.
1. Ce que MongoDB renvoie à chaque fois est essentiellement dans le document. Si le document contient un tableau (Array), tous les tableaux doivent être renvoyés ;
2. Comme le souhaite le sujet, si vous souhaitez suivre les conditions de la requête et renvoyer uniquement les données du tableau qui remplissent les conditions, vous pouvez envisagerDiscussion sur Huashan Sword 2017 | Communauté chinoise MongoDB
La gare de Hangzhou en mars arrive bientôt ! ! ! Amis intéressés, inscrivez-vous vite ! ! !
Il renverra en effet le stock de données data.fruit mais il peut aussi renvoyer le stock de conditions, mais vous devez connaître le numéro d'index du stock dans le tableau de fruits.
c'est-à-dire
Référence (mongodb version 3.4) :
https://docs.mongodb.com/manu...
https://docs.mongodb.com/manu...