MongoDb复杂查询:如何从属于“用户”的“书”中查询一些“页面”
Posted
技术标签:
【中文标题】MongoDb复杂查询:如何从属于“用户”的“书”中查询一些“页面”【英文标题】:MongoDb complex query: How to query some "Page"s out of "Book"s belonging to a "User" 【发布时间】:2012-04-04 10:13:11 【问题描述】:我设计的模式很像关系数据库。像这样:
User
user_id: String
...
Book
user_id: String
book_id: String
...
Page
book_id: String
page_id: String
...
因为一个用户可以有很多很多书,而一本书有很多页。
现在我想查询用户前 25 本书的前 5 页。我将如何在 MongoDB 中做到这一点?
【问题讨论】:
【参考方案1】:嗯,MongoDB 并没有像 mysql/etc 这样的“关系”特性。因此,您需要使用多个查询来获取数据,首先获取您的用户 id,然后查找像 db.books.find( "user_id": uid ).limit(25)
这样的书籍,然后使用它浏览每本书以类似地找到每本书的前 5 页。
或者,您可以将页面嵌入到书中,但随后我们将进入另一个关于如何优化查询的故事:)
【讨论】:
以上是关于MongoDb复杂查询:如何从属于“用户”的“书”中查询一些“页面”的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Powershell 进行复杂查询 MongoDB