j'ai une structure de données qui ressemble plus ou moins comme ceci:Nesting et l'interrogation des documents avec MongoDB
var city = {
name: String,
mayor: Person,
citizens: [Person]
};
Je pense que mon cas d'utilisation est assez bon pour l'utilisation de MongoDB, mais j'ai quelques questions. Le modèle ci-dessus a été implémenté avec mongoose, et j'utilise sub documents pour imbriquer des personnes à l'intérieur de City.Obviously le tableau de citoyens pourrait devenir assez long, et c'est pourquoi MongoDB semble être un bon choix.
Est-ce un moyen efficace de structurer mes données? Je me demandais si Mongo devra faire une sorte de rejoindre chaque fois que je veux sélectionner une ville, avec tout de ses citoyens (ou une grande partie d'entre eux). Cela irait évidemment à l'encontre de l'objectif de l'utilisation d'une base de documents.
De même, lorsque vous êtes dans le terminal mongo, j'essaie quelque chose comme db.cities.find({name:'Berlin'}).mayor
Je n'obtiens aucun résultat. Quand j'essaie db.cities.find({name:'Berlin'})
, il montre la ville, et il montre aussi un identifiant d'objet pour le maire mais pas toutes les propriétés du maire/Personne.
Alors, comment puis-je interroger avec sous-documents et est-ce une bonne façon de travailler?