Note that there are some explanatory texts on larger screens.

plurals
  1. POmongoose.js CastError: Cast to number failed for value "[object Object]" at path "undefined"
    primarykey
    data
    text
    <p>Using <code>Mongoose.js</code> with <code>node.js</code>.</p> <p>I have this schema:</p> <pre><code>var Photo = new Schema({ URL:String ,description:String ,created_by:{type:ObjectId, ref:'User'} ,created_at:{type:Date, default:Date.now()} }); var User = new Schema({ name:{type:String,index:true} ,email:{type:String,index:true, unique:true} }); //Task model var Task = new Schema({ title:String ,created_by:{type:ObjectId, ref: 'User'} ,created:{type:Date, default:Date.now()} ,responses:[{ type:Number ,user:{type:ObjectId, ref: 'User'} ,comment:String ,avatarURL:String ,photo:{type:ObjectId, ref: 'Photo'} ,created:{type:Date, default:Date.now()} }] }); //Group model var Group = new Schema({ name:String ,tasks:[Task] }); </code></pre> <p>and this code errors out (group is fine, task at that idx is fine,responses is an empty array,user is valid,photo is valid):</p> <pre><code>var typePhoto = 6; var resp = { type: typePhoto//photo ,user: user._id ,photo: photo._id }; group.tasks[taskIdx].responses.push(resp); //errors out here </code></pre> <p>at that point I get the following error:</p> <pre><code>/home/admin/notitws/node_modules/mongoose/lib/utils.js:434 throw err; ^ CastError: Cast to number failed for value "[object Object]" at path "undefined" at SchemaNumber.cast (/home/admin/notitws/node_modules/mongoose/lib/schema/number.js:127:9) at Array.MongooseArray._cast (/home/admin/notitws/node_modules/mongoose/lib/types/array.js:78:15) at Object.map (native) at Array.MongooseArray.push (/home/admin/notitws/node_modules/mongoose/lib/types/array.js:187:23) at exports.taskAddPhoto (/home/admin/notitws/routes/group.js:1097:35) at Promise.exports.createPhoto (/home/admin/notitws/routes/photos.js:106:4) at Promise.addBack (/home/admin/notitws/node_modules/mongoose/lib/promise.js:128:8) at Promise.EventEmitter.emit (events.js:96:17) at Promise.emit (/home/admin/notitws/node_modules/mongoose/lib/promise.js:66:38) at Promise.complete (/home/admin/notitws/node_modules/mongoose/lib/promise.js:77:20) </code></pre> <p>Any ideas on how to fix this or what may be causing it?</p> <p>PS Don't know if it matters but in the call to get group I am populating <code>tasks.responses.user</code> and <code>tasks.responses.photo</code> and <code>tasks.created_by</code>.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload