Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

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

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

Problem

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!

Problem courtesy of: Stefan Stoichev

Solution

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.

Solution courtesy of: Donflopez

Discussion

View additional discussion.



This post first appeared on Node.js Recipes, please read the originial post: here

Share the post

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

×

Subscribe to Node.js Recipes

Get updates delivered right to your inbox!

Thank you for your subscription

×