В моей схеме Mongoose у меня есть поле id
, которое имеет уникальный идентификатор для каждого документа. Это сбегает ту же систему, используемую поле по умолчанию _id
как так:Запрос Mongoose для поля id возвращает id и _id
var JobSchema = new mongoose.Schema({
id: { type:String, required:true, unique:true, index:true, default:mongoose.Types.ObjectId },
title: { type: String },
brief: { type: String }
});
module.exports = mongoose.model("Job", JobSchema);
Теперь, если я запрашиваю схему, чтобы получить идентификатор и название, которое я хотел бы сделать это следующим образом:
Job.find().select("id title").exec(function(err, jobs) {
if (err) throw err;
res.send(jobs);
});
Однако , Я нашел, что возвращает id
и title
, как и ожидалось, но также возвращает поле по умолчанию _id
. Почему это и как его остановить?
Удивительно, я никогда не знал, что вы можете это сделать! Большое спасибо – Coop
Рад помочь :) – augustoccesar
@Coop Вы также можете просто добавить '-_id' к существующему вызову' select', так что это 'Job_find(). Select (" -_ id id title ")' – JohnnyHK