【发布时间】:2016-11-19 20:41:34
【问题描述】:
我有一个关于使用 mongodb 和 mongoose 建模愿望清单的问题。这个想法是我需要一个用户能够拥有许多不同的愿望清单,其中包含许多愿望,每个愿望都引用一篇文章
我正在考虑它,因为愿望清单只属于一个用户,我认为为此使用嵌入式文档。
对于嵌入愿望清单的愿望蜜蜂也是如此。
所以我得到了类似的东西
var UserSchema = new Schema({
...
wishlists: [wishlistSchema]
...
})
var WishlistSchema = new Schema({
...
wishes: [wishSchema]
...
})
但我的问题是如何处理这篇文章?我应该使用参考还是应该将文章的数据复制到嵌入文档中。
如果我使用嵌入式文档,我会遇到更新问题。当文章的价格发生变化时,要更新每一个参考这篇文章的愿望变得很困难。但是访问那些愿望的文章是小菜一碟。
如果我使用参考,更新不再是问题,但是当我根据他们的文章标准过滤愿望时我遇到了问题(当我根据价格、类别等过滤愿望时......)。
我认为第二种方式可能是最好的,但我不知道是否可以构建一个查询来根据文章的字段过滤愿望。我使用人口尝试了很多东西,但是当您需要根据嵌套对象字段进行填充时,没有什么效果很好。 (例如在他们的文章响应某些条件时获得愿望)。
这种查询可行吗?
对于这个冗长的问题和我的英语不好:/但任何建议都会很棒!
【问题讨论】:
标签: mongodb mongoose mongoose-schema nosql