亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

貓鼬,使用查找選擇特定字段

貓鼬,使用查找選擇特定字段

我正在嘗試僅選擇一個特定的領域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"}]為什么???
查看完整描述

3 回答

?
犯罪嫌疑人X

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);

    });

};


查看完整回答
反對 回復 2019-12-27
?
楊__羊羊

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包含返回的文檔中的字段。


查看完整回答
反對 回復 2019-12-27
  • 3 回答
  • 0 關注
  • 991 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號