【发布时间】:2016-05-07 21:41:07
【问题描述】:
我有一个或多或少看起来像这样的数据结构:
var city = {
name: String,
mayor: Person,
citizens: [Person]
};
我认为我的用例非常适合使用 MongoDB,但我有几个问题。上面的模型已经用 mongoose 实现了,我使用sub documents 将 Persons 嵌套在 City 中。显然,Citizens 数组可能会变得很长,这就是为什么 MongoDB 似乎是一个不错的选择。
这是构建数据的有效方式吗?我想知道每次我想选择一个城市时,Mongo 是否必须进行某种形式的加入,其中 all 是它的公民(或其中很大一部分)。这显然会破坏使用文档数据库的目的。
另外,当我在 mongo 终端中尝试类似db.cities.find({name:'Berlin'}).mayor 时,我没有得到任何结果。当我尝试db.cities.find({name:'Berlin'}) 时,它会显示城市,并且还会显示市长的对象 ID,但不会显示市长/个人的所有属性。
那么我如何用子文档查询,这是一种很好的工作方式吗?
【问题讨论】:
标签: node.js mongodb mongoose document-database odm