例如有组数据:
name: 'food',
data: {
fruit: [
{
name: 'apple',
stock: 10
},
{
name: 'pear',
stock: 66
}
...
]
}
db.col.find({'data.fruit.stock': 66}, {data.fruit.stock: 1})
查询到的是整个data.fruite
;
Q1: 有什么方法只获取过滤器查询的那条数据吗?如果这个文档对象量比较大咋办?
Q2: 这是Mongodb的一种特性?命中过滤器的条件后,返回的是整个文档对象?
Q3: 有这方面的API文档可参阅么?
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...