我设计的模式很像关系数据库。像这样:
User
user_id: String
...
Book
user_id: String
book_id: String
...
Page
book_id: String
page_id: String
...
因为用户可以拥有许多书籍,而书籍有很多页面。
现在我想查询用户前25本书的前5页。我如何在MongoDB中做到这一点?
答案 0 :(得分:3)
嗯,MongoDB并没有像MySQL /等那样的'关系'功能。因此,您需要先使用多个查询来获取数据,方法是首先获取用户的ID,然后查找db.books.find({ "user_id": uid }).limit(25)
之类的图书,然后使用它来浏览每本书,同样找到每个图书的前5页。
或者你可以将这些页面嵌入到书中,但接下来我们将介绍如何优化查询:*