gpt4 book ai didi

javascript - 如何在 mongoose 对象上添加临时属性只是为了响应,而不是存储在数据库中

转载 作者:IT老高 更新时间:2023-10-28 22:59:30 26 4
gpt4 key购买 nike

我想用额外的数据填充几个额外的临时属性并发送回响应

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

但属性不会添加到 Tournament 对象上,因此不会添加到响应中。

最佳答案

在这里找到答案:Unable to add properties to js object

我无法在 Mongoose 对象上添加属性,我必须使用 .toJSON().toObject() 方法将其转换为纯 JSON 对象。

编辑:就像@Zlatko 提到的那样,您还可以使用 .lean() 方法完成查询。

mongooseModel.find().lean().exec()

... 也产生原生 js 对象。

关于javascript - 如何在 mongoose 对象上添加临时属性只是为了响应,而不是存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22415758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com