我的日志文档中嵌入了日志列表:
{
type:'logbook',
name:'my book',
userRef:2,
cdate: ....,
logs: [
{
color: 'red',
weight: 200,
cdate: ...,
foo: 'bar'
},
{
color: 'blue',
weight: 100,
cdate: ...,
foo: 'bar'
},
{
color: 'green',
weight: 240,
cdate: ...,
foo: 'bar'
}
]
我想显示给定日志的分页有序日志条目。
是否可以使用mongo从这样的结构中提取那些?
如果不是,我应该为日志设置logEntries集合吗?
由于
答案 0 :(得分:1)
您可以使用field selection指定要检索的文档部分。要选择数组字段的一部分,可以使用$slice
operator,例如:
// select the name and a range of log entries from the document
db.logbooks.find({ name: "my book" }, { name: 1, logs: { $slice: [10, 5] } })
请注意,除了插入顺序之外的任何日志条目排序都必须在客户端完成。