Modeling data on a many-to-many join in Mongo? Modeling data on a many-to-many join in Mongo? mongoose mongoose

Modeling data on a many-to-many join in Mongo?


Try this way

var EventScheme = new Schema({ ... });  mongoose.model('Event', EventScheme);var PersonScheme = new Schema({  email: String,  events: [{    event: {      type: mongoose.Schema.ObjectId,      ref: 'Event'    },    enjoyed: Boolean  }]});


You would be better off using an Embedded Document rather than a link.

var Person = {    email: "joe.user@users.mongodb.org",   events: [         {code: "MONGONY2012", name: "Mongo NY", date: "5/23/2012", link: "http://www.10gen.com/events/mongo-nyc", enjoyed: true},         {code: "MONGOPHL2012", name: "Mongo Philly", date: "4/9/2012", link: "http://www.10gen.com/events/mongodb-philly", enjoyed: true}   ]}

You can query Mongo for an event easily, using dot notation:

db.people.find({"events.code": "MONGONY2012"})