【发布时间】:2020-05-14 04:11:47
【问题描述】:
我的架构如下所示:
{
"_id": "5073c76a23ce3abf0f000001",
"asker": {
"userId": "fooId",
"firstName": "foo",
"lastName": "bar",
"points": "10",
"aboutMe": "Something about me"
},
"isBounty": false,
"tags": ["mongodb", "nosql", "mongodb-query"],
"title": "Is there merit to adding flat properties additional to a duplicate nested",
"descriptionMd": "Question description",
"offeredPoints": 10,
"slug": "is-there-merit-to-adding-flat-properties-additional-to-a-duplicate-nested",
"biddings": [{
"biddingId": "_biddingId",
"respondent": {
"userId": "fooId",
"firstName": "foo",
"lastName": "bar",
"points": "10",
"aboutMe": "Something about me"
},
"biddingPoints": 10,
"createdAt": "2019-03-21T08:00:00",
"lastUpdatedAt": "2019-03-21T08:00:00"
}],
"acceptedBidding": "_biddingId",
"answers": [
{
"respondent": {
"address": {
"userId": "fooId",
"firstName": "foo",
"lastName": "bar",
"points": "10",
"aboutMe": "Something about me"
}
},
"answerTextMd": "Answer 1",
"reviewRequested": true,
"reviewer": {
"userId": "fooId",
"firstName": "foo",
"lastName": "bar",
"points": "10",
"aboutMe": "Something about me"
},
"reviewStatus": "ANSWER_ACCEPTED",
"createdAt": "2019-03-21T08:00:00",
"lastUpdatedAt": "2019-03-21T08:00:00"
}
],
"createdAt": "2019-03-21T08:00:00",
"lastUpdatedAt": "2019-03-21T08:00:00"
}
此架构用于问答论坛,我更喜欢将所有数据嵌入问题文档中。
要求如下:
- 创建和更新的时间戳在问题文档中设置
- 也应该在嵌套的投标和答案上加上时间戳
我知道在问题文档上添加时间戳的默认方式:
const mySchema = new mongoose.Schema( {name: String}, {timestamps: true} );
如何在更新的嵌套文档上动态放置时间戳?
有没有建议的方法,或者我应该自己把字段放在那里并手动更新它们?
【问题讨论】:
-
您可以将所有架构代码添加到问题中吗?
-
@SuleymanSah 你是什么意思?这就是文档的样子,我仍在设置架构。我不确定是否应该将 createdAt 和 updatedAt 放在架构上。
-
我的意思是架构中的其他字段。现在它只有名称字段。
-
@SuleymanSah 啊不,这只是说明性的。上面的对象是我的完整 Question 对象。