我想说我有一份文件
book: {name: "book",
"chapters":[{title: "Chapter I",
"sections":[{},{}]
}, {...}
]}
我想用嵌入式对象章节获取book对象,但每章不应包含嵌套的“sections”(但应包含其他属性,如title):
book: {name: "Book",
"chapters":[{title: "Chapter I"
}, {...}
]}
如何使用 Mongo驱动程序和 Mongoid (或 Mongomapper )进行查询?
我用mongoid试了一下:
books.all[0].chapters.only(:title)[0].sections # it still works, though I expect sections to be nil
答案 0 :(得分:1)
您的查询
books.all[0].chapters.only(:title)[0].sections
在books.all上挑选所有章节嵌入文档的书籍,因此在章节之后使用“仅”是没有意义的。如果章节作为单独的文档并且得到has_many关系而不是embeds_many
,那么您的查询可以工作所以你必须在书籍文件
上使用'only' books.only('chapters.title').all[0].chapters.sections