实例方法或静态方法,用于从文档密钥

时间:2019-07-09 09:40:20

标签: node.js mongoose

我试图找出在Mongoose中添加实例方法或静态方法的最佳方法,以基于当前文档中存储的ObjectId从另一个集合中检索文档。

例如,假设我有一个Book模式,它看起来像这样:

{title: String,
authorId: ObjectId,
publisherId: ObjectId
}

authorId将引用另一个集合中的作者文档的ID(可能是“作者”)。

我想做的是在我的书中添加一个名为“作者”的属性,该属性将检索该作者文档并将其视为我的书的子对象。因此,而不是像这样:

Book = await Book.findOne();
Author = await Author.findOne({_id: Book.authorId})
console.log(Author.fullName) // returns "Stephen King"

我可以简单地做到:

Book = await Book.findOne({});
console.log(Book.author.fullName) // Also returns Stephen King

或可能

console.log(Book.author().fullName)

关键是要存储作者对象中的书本对象,以便可以彼此独立地进行更新。

在Meteor中,这可以通过收集助手来完成,但是恐怕我不知道如何在Mongoose中做到这一点。我会使用实例方法吗?静态的吗?

没什么,因为我什至不知道你会怎么做。

0 个答案:

没有答案