Mongoose保存在填充的文档上

时间:2017-06-09 11:27:34

标签: mongoose save

我在MongoDB中保存已填充的文档时遇到问题。我正在使用mongoose,而且大多数情况下它的工作非常好且直观。然而,不是populate,遗憾的是文档很难反映这个问题。

我有3个模型:UserTopicAnswerUser可以有TopicTopic可以有Answers。每个答案都有author - User。这些关系以适当的方式定义:

type: { type: mongoose.Types.Schema.ObjectId, ref: '...' }

我想出了如何做嵌套人口。在我的情况下,要使用author的{​​{1}},当给定answer时,人口将如下所示:

topicId

它有效。我可以访问所有文件。但是,当我删除“主题”时,我也希望删除所有.populate({ path: 'answers', populate: { path: 'author' } }) 。另外,我需要从Answers(作者)文档中删除Topic._id,我需要分别从其作者中删除User。代码如下所示:

Answers._ids

我使用let topicIdIndex = topic.author.topics.indexOf(topicId); topic.author.topics.splice(topicIdIndex, 1); topic.author.save(); 删除了id,但是当我致电splice时,它只是不保存模型topic.author.save()的填充文档author。我不明白为什么,因为我知道User实例本身带有所有的猫鼬功能 - 这就是为什么model时你可以在{debugging中看到实际的data 1}}字段。

有没有办法以这种方式存钱?我是否真的必须对我需要删除的每个_doc进行手动搜索?

0 个答案:

没有答案
相关问题