mongoose 截取数组 只要前几个

红叶舞秋山
  • 440

在nodejs+mongoose中。

数据库中有个表字段是这样的

{

title:'abc',
pic:[1,2,3,4,5,6,7,8]

}

pic是存的图片地址的数组。
但不想都查询出来。只要前3张。改怎么写?
查询出来了再截取呢?还是只查询pic里的前3个值

回复
阅读 4k
3 个回答

db.test.find({},{pic:{$slice:1}})

好像是可以这样, 你试试.

好奇怪的取数需求。 感觉像是schema设计有问题。

首先,若你用内嵌的子文档(字符串也算文档的定义),说明子文档的数量不会很多,所以一次取完出来再处理基本没性能区别。
若你的子文档很多,请不要用内联,而是用ref。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏