猫鼬对 id 字段的请求返回 id 和_id
Mongoose request for id field returns id and _id
在我的猫鼬模式中,我有一个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);
现在,如果我查询架构以获取 id 和标题,我会这样做:
Job.find().select("id title").exec(function(err, jobs) {
if (err) throw err;
res.send(jobs);
});
但是,我发现这按预期返回id
和title
,但它也返回默认的_id
字段。为什么会这样,我该如何阻止它?
在 find()
函数中,您可以传递两个参数(条件和投影)。投影是您想要(或不需要)的字段。在您的情况下,您可以将代码更改为
Job.find({}, {_id:0, id: 1, title: 1}, function(err, jobs) {
if (err) throw err;
res.send(jobs);
});
它应该这样做。
有一个选项可以在架构级别阻止 id。对我来说,这工作得很好。
new Schema({ name: String }, { id: false });
猫鼬文档
相关文章:
- PHP会话ID变量与AJAX一起返回
- 包含插入的Meteor方法没有返回记录ID作为结果
- 为什么数据列表选项的id返回空值
- 使用MeteorJS堆栈,如何使用对象的id返回该对象的属性
- 将域类id返回到由单选按钮选择的控制器
- 按用户 ID 返回 Soundcloud 曲目列表
- 按钮 ID 返回空白
- 如何使用javascript和jquery修改通用css,并将结果作为新id返回
- Get Element by ID 返回使用 JavaScript 动态添加的元素的 null
- layer.find获胜't通过id返回kinetijs对象,尽管它存在
- FB ID返回为未定义
- 获取提交数据的id返回NaN
- 如何从id返回刚好的数字,就像"后46"
- getElementsByClassName/Id返回的数组中元素的顺序是否一致?
- DOM查找ID返回未定义
- $(this).attr('id')返回未定义,尽管id已定义
- 仅在IE上,表单DOM id返回“”;为空或不是对象“;问题
- 元素属性 ID 返回未定义
- getelementbyid (id)返回一个包含所有未定义变量的对象
- EditorInstance.document.getById(“某些id”)返回null