簡體   English   中英

使用mongoose在mongo中查找用戶,並將結果返回給JSON

[英]Find user in mongo, with mongoose, and return the result to a JSON

我想在mongo中搜索一些用戶並將其放入json中,但是每次嘗試時,得到的結果都是帶有元數據的大對象。

以下代碼包含我已經完成的工作

var myJson = {
              user : User.findOne({
                        firstName: regex,
                        lastName: authorSplitedName.last
                     }, function (err, user){
                        return user;
                     })
             }

非常感謝您的幫助!

嘗試使用JSON.parse()JSON.stringify()刪除貓鼬對象屬性:

var myJson = {
              user : User.findOne({
                        firstName: regex,
                        lastName: authorSplitedName.last
                     }, function (err, user){
                        return JSON.parse(JSON.stringify(user)));
                     })
             }

貓鼬的find方法通過回調函數異步返回其結果。 這意味着, findOne方法不會為您提供查詢結果(如您的示例代碼中顯然假定的那樣)。 如果您使用express.js,通常會在回調函數中執行類似於res.json(result)來發送JSON結果:

router.get('/:someParameter', function(req, res, next) {
    var query = {}; // your query
    User.findOne(query, function(err, user) {
        if (err) return next(err); // handle error case
        res.json(user);
    });
});

如果您需要沒有任何貓鼬特定屬性的原始JSON或原始對象,則可以在貓鼬文檔上使用toJSON()toObject()方法。

關於您的評論; 不確定這是否是一個問題,但是:搜索集合時同樣適用; 區別在於,您的回調方法將接收一個數組作為第二個參數,而不是單個對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM