2011-04-11 4 views
3

-je utiliser mangouste dans mon application Node.js, et ont essentiellement les modèles suivants:Cette requête est-elle possible dans nosql (avec mongodb)?

// Define Car model 
CarSchema = new Schema({ 
    brand : String, 
    type: String,  
    maxSpeed : Number 
}); 
mongoose.model('Car', CarSchema); 
// Define User model 
UserSchema = new Schema({ 
    lastname  : String, 
    firstname : String, 
    cars : [CarSchema] 
}); 
mongoose.model('User', UserSchema); 

Je suis vraiment nouveau à NoSQL et je veux vraiment essayer, mais je dois d'abord étudier si cette correspond vraiment à mes besoins.

Avec les modèles ci-dessus, serai-je en mesure de créer une requête listant tous les utilisateurs qui ont un type particulier de voiture parmi leurs voitures personnelles?

Répondre

7

Je ne sais pas comment le faire en mangouste. Mais en mongodb c'est possible. Ainsi, dans la coquille mongodb requête ressemble à ceci:

db.users.find({"cars.type":"sport"}) 

Au-dessus de requête retour tous les utilisateurs ont des thats voiture de type « sport » dans leur collection de voitures imbriquées.

Documentation de Mongodb dot notation.

+0

savez-vous une principale à filtrer sur les derniers éléments de la liste des voitures? J'ai soumis une autre question pour cela: http://stackoverflow.com/questions/5627995/mongoose-node-js-query-with-lt-and-gt-not-working et je ne peux pas trouver la réponse. – Luc

+0

@Luc: J'ai récemment répondu .. –