我试图只选择一个特定的字段
exports.someValue = function(req, res, next) { //query with mongoose var query = dbSchemas.SomeValue.find({}).select('name'); query.exec(function (err, someValue) { if (err) return next(err); res.send(someValue); }); };
但是在我的 json 响应中,我也收到了 _id,我的文档架构只有两个字段,_id 和 name
[{"_id":70672,"name":"SOME VALUE 1"},{"_id":71327,"name":"SOME VALUE 2"}]
为什么???
该_id字段始终存在,除非您明确排除它。使用以下-语法执行此操作:
_id
-
exports.someValue = function(req, res, next) { //query with mongoose var query = dbSchemas.SomeValue.find({}).select('name -_id'); query.exec(function (err, someValue) { if (err) return next(err); res.send(someValue); }); };
或通过对象显式:
exports.someValue = function(req, res, next) { //query with mongoose var query = dbSchemas.SomeValue.find({}).select({ "name": 1, "_id": 0}); query.exec(function (err, someValue) { if (err) return next(err); res.send(someValue); }); };