bob*_*off 19 javascript mongoose node.js
我想用额外的数据填充一些额外的临时属性并发送回响应
'use strict';
var mongoose = require('mongoose');
var express = require('express');
var app = express();
var TournamentSchema = new mongoose.Schema({
createdAt: { type: Date, default: Date.now },
deadlineAt: { type: Date }
});
var Tournament = mongoose.model('Tournament', TournamentSchema);
app.get('/', function(req, res) {
var tournament = new Tournament();
// Adding properties like this 'on-the-fly' doesnt seem to work
// How can I do this ?
tournament['friends'] = ['Friend1, Friend2'];
tournament.state = 'NOOB';
tournament.score = 5;
console.log(tournament);
res.send(tournament);
});
var server = app.listen(3000, function() {
console.log('Listening on port %d', server.address().port);
});
Run Code Online (Sandbox Code Playgroud)
但是这些属性不会添加到Tournament对象上,因此不会在响应中添加.
bob*_*off 32
在这里找到答案:无法向js对象添加属性
我无法在Mongoose对象上添加属性,我必须使用.toJSON()或.toObject()方法将其转换为普通的JSON对象.
编辑:和@Zlatko提到的一样,您也可以使用.lean()方法完成查询.
mongooseModel.find().lean().exec()
Run Code Online (Sandbox Code Playgroud)
...也生成本机js对象.
| 归档时间: |
|
| 查看次数: |
9224 次 |
| 最近记录: |