【发布时间】:2017-11-16 01:04:23
【问题描述】:
如何使用最初设置为空对象的新属性更新字段?
例如,我有以下架构:
import mongoose from 'mongoose';
var RunSchema = mongoose.Schema(
{
runId: { type: String },
reports: {
cookieSummary: {
name: String,
path: String
}
}
}
)
export default mongoose.model('Run', RunSchema);
我正在尝试更新以下文档:
{
"_id": {
"$oid": "5a0565c2537e0b5d9d08ee6b"
},
"__v": 0,
"reports": {},
"runId": "8r4LNN3fRqd3qNgdW"
}
但是当我运行这段代码时,它返回undefined:
Run.findOneAndUpdate({runId: '8r4LNN3fRqd3qNgdW'},
{
$set: {'reports.cookieSummary': { 'name': 'test' }},
}, (err, doc) => { console.log(doc) })
object 表示法在将type 添加到字段后起作用,如下所示:name: { type: String }
【问题讨论】: