[英]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.