除非特别声明,否则使用"$slice"时将返回文档中所有的键。别的键说明符都是默认不返回未提及的键,这点与"$slice"不太一样。
根据上面的阐述我作了下面的试验
> db.blog.posts.insert({"title":"A blog post","content":"...","comments":["aa","bb","cc","dd"]})
> db.blog.posts.findOne({"title":"A blog post"},{"comments":{"$slice":2}})
{
"_id" : ObjectId("5194360f2dd15cb60ff86f37"),
"title" : "A blog post",
"content" : "...",
"comments" : [
"aa",
"bb"
]
}
的确是将所有的键都返回了,但难道不是所有键说明符都这样吗?请前辈举个例子:)