Stefan Stoychev
Stefan Stoychev

Reputation: 4987

Insert into deep embedded document with Mongoose/Node.js?

I have the following Schemas in Mongoose/Node.js:

var ItemsSchema = new Schema({
    itemname: String,
    quantity: String
});

var ListSchema = new Schema({
    listname: String,
    items: [ItemsSchema]
});

var UsersSchema = new Schema ({    
    username: String,
    owned: [ListSchema]
});

So each User may have many Lists. And each list can contain many items. How can i insert new item to a specific list? Using User.findOne({"owned._id" : listid} ... will give me the user that own the specific list but i can't figure it out how to proceed to get the single list.

Thanks in advice!

Upvotes: 0

Views: 1241

Answers (1)

Donflopez
Donflopez

Reputation: 1178

you can try to do this.

User.findById(id, function(err, doc){
     doc.owned[n].items.push(item);
}

Any user has an independent list, you must access to a userlist and push an item to a specific list.

The users don't share the list, of course the items neither with this structure.

Sorry about my english.

Upvotes: 1

Related Questions