3 回答
TA贡献2080条经验 获得超4个赞
_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);
});
};
TA贡献1943条经验 获得超7个赞
现在有一种更短的方法:
exports.someValue = function(req, res, next) {
//query with mongoose
dbSchemas.SomeValue.find({}, 'name', function(err, someValue){
if(err) return next(err);
res.send(someValue);
});
//this eliminates the .select() and .exec() methods
};
如果您需要大部分,Schema fields而只想删除几个,则可以在字段前面name加上-。例如"-name",第二个参数中的ex 将不包含name文档中的字段,而此处给出的示例将仅name包含返回的文档中的字段。
添加回答
举报