Les deux schémas suivants
Columns: {
active: Boolean,
name: String
}
News: {
column: {type: Schema.Types.ObjectId, ref: 'columns'},
title: String,
content: String
}
column
中 active
有被配置修改的需求,news
Le tableau comporte un grand nombre d'exigences d'insertion
Comment gérer news
进行分页查询,查询条件为column.active
为true
?
Comment définir count
les conditions de requête ?
1.
News.find().populate({
path: 'column',
match: { active: true }
}).limit(10).skip(0).exec(function(err, news) {
if (err) {
console.log(err);
} else {
console.log(news);
}
});
输出结果:
news:[
{
"title": "这篇资讯的所属栏目正在开放",
"column": {
"active": true,
"createdAt": "2017-04-11T10:35:29.747Z",
"id": "58ecc960a4db1e3fc01c2d6d"
},
"updatedAt": "2016-11-29T08:55:42.000Z",
"id": "5923ab21415f8f3bc43f8515"
},
{
"title": "这篇资讯的所属栏目已被屏蔽",
"column": null,
"updatedAt": "2016-11-29T08:47:18.000Z",
"id": "5923ab21415f8f3bc43f83bd"
}
]
期望获取的结果是只有column中active为true的数据
尝试失败
1, dans la situation que vous avez mentionnée, remplir est comme ça, donc la plupart du temps, remplir est très utile pour faire une association avec un document, mais pour faire une association avec plusieurs documents qui remplissent les conditions, voici ce que que vous avez rencontré. Dans ce cas, s'il n'y a pas d'association, null sera renvoyé.
2, il est recommandé d'apporter les modifications suivantes au modèle de données :
1) La méthode de modèle de données que vous utilisez est la méthode de référence, qui est une méthode de modélisation paradigmatique traditionnelle. Il est plus difficile à utiliser dans MongoDB
;2) Pensez à utiliser une modélisation anti-paradigme. Le nom semble très avancé, il utilise simplement un sous-document pour réaliser une association. Selon vos besoins, il est plus facile d'intégrer des colonnes dans les actualités en tant que sous-documents.
Pour référence.
J'adore MongoDB ! Amusez-vous!