Mongoose data saving without _id
mongoose, node.js
Solution
Unfortunately, You can not skip having a primary key for the document but you can override the primary key content, you can define your own primary key for each document.
Try the following schema for the same.
var PlayerSchema = new mongoose.Schema({
_id : { type: Number },
player_name : { type: String },
player_age : { type: Number },
player_country : { type: String },
} );
I have replaced your `player_id` with `_id`. Now you have control over the primary key of the document and the system won't generate the key for you.
There are some plugins which can also do the `autoincremet` for your primary key. https://github.com/chevex-archived/mongoose-auto-increment. You might try these as well.
Also, about the error you are getting : Any document is an object and should be wrapped inside the `curly brackets` you can not define two independent object in the same document. So you are getting this error.
Problem
I am using mongoose with node.js application. I don't want _id field in record. I am using this code to save my record without _id field. But it is giving error document must have an _id before saving ``` var mongoose = require('mongoose'); var Schema = mongoose.Schema; var PlayerSchema = new Schema({ player_id : { type: Number }, player_name : { type: String }, player_age : { type: Number }, player_country : { type: String } } , { _id: false } ); var Player = mongoose.model('Player', PlayerSchema ); var athlete = new Player(); athlete.player_id = 1; athlete.player_name = "Vicks"; athlete.player_age = 20; athlete.player_country = "UK"; athlete.save(function(err) { if (err){ console.log("Error saving in PlayerSchema"+ err); } }); ``` I am using mongoose version 3.8.14