개체를 함수로 전달한 후 해당 값이있는 DB 항목을 저장하고 옵션을 기본값으로 저장하려고합니다. 실용적인 측면에서 몽구스/노드에 객체를 저장 (기본값)
...내가 몽구스이 같은 스키마를 가지고 :
exports.Logger = function(logEntry){
var Log = mongoose.model("Log"),
req = logEntry.req;
log = new Log();
// Sorts out log.reqInfo
if (logEntry.req){
log.reqInfo = JSON.stringify({
info : req.info,
headers: req.headers,
method : req.method,
body :req.body,
route :req.route,
params: req.params
});
} else {
logEntry.reqInfo = {};
}
// Sorts out all of the other fields with sane defaults.
// FIXME: improve this code, it's grown into something ugly and repetitive
log.workspaceId = logEntry.workspaceId ? logEntryworkspaceId. : '';
log.workspaceName = logEntry.workspaceName ? logEntry.workspaceName : '';
log.loginSession = logEntry.loginSession ? logEntry.loginSession : '';
log.loginToken = logEntry.loginToken ? logEntry.loginToken : '';
log.logLevel = logEntry.logLevel ? logEntry.logLevel : 0;
log.errorName = logEntry.errorName ? logEntry.errorName : '';
log.message = logEntry.message ? logEntry.message : '';
log.data = logEntry.data ? logEntry.data : {};
// Sorts out log.loggedOn
log.loggedOn = new Date();
log.save();
}
이 :
var Log = new Schema({
workspaceId : { type: String, index: true },
workspaceName : { type: String, index: true },
loginSession : { type: String, index: true },
loginToken : { type: String, index: true },
logLevel : { type: Number, enum:[0,1] },
errorName : { type: String, index: true },
message : { type: String, index: true },
reqInfo : { type: String },
data : { type: String },
loggedOn : { type: Date, index: true },
});
mongoose.model('Log', Log);
이 테이블에 일을 작성하려면, 내가 좋아하는 뭔가를 절대적으로 끔찍한 코드입니다. 반복없이 그것을 쓰는 더 좋은 방법은 무엇입니까? 이 같은
에서
는 –
코드를 개선하기 위해 질문 :(으로 올바른 허용하지 않습니다, 몽구스 솔루션을 요청합니다 몽구스 답을 얻을, 몽구스에만 thereason 내가 원한다면, 그것을 개선하고 싶어하는 이유 Mongoose에서 기본값을 수행하는 방법을 알았 으면 다른 제목을 가졌을 것입니다.이 코드를 개선하는 방법에 대해 물어 보았습니다. 개선 할 필요가없는 방법이 아니 었습니다. – Merc
"자바 스크립트에서 개체를 병합하는 방법"이었습니까? –