问一下,mongodb 支持只返回 value,而不是返回 key:value 这样子格式的吗?
比如下面的表
> db.user.find()
{ "_id" : ObjectId("6077fac5fe214ec7b60ea68e"), "name" : "chenyurong", "age" : 25, "addr" : "ShenZhen" }
{ "_id" : ObjectId("60780dbdfe214ec7b60ea68f"), "name" : "chenyurong", "age" : 26, "addr" : "ShenZhen" }
{ "_id" : ObjectId("60780dc0fe214ec7b60ea690"), "name" : "chenyurong", "age" : 27, "addr" : "ShenZhen" }
{ "_id" : ObjectId("60780dc3fe214ec7b60ea691"), "name" : "chenyurong", "age" : 28, "addr" : "ShenZhen" }
{ "_id" : ObjectId("60780e39fe214ec7b60ea692"), "name" : "test", "age" : 20, "addr" : "ShenZhen" }
> db.user.find({"name":"test"},{"age":1})
{ "_id" : ObjectId("60780e39fe214ec7b60ea692"), "age" : 20 }
但我希望返回的直接是20
,这个 mongodb 支持的嘛?
目前我查阅的资料都是不支持的,有没有人有其他的操作
> db.user.find({},{"age":1})
{ "_id" : ObjectId("6077fac5fe214ec7b60ea68e"), "age" : 25 }
{ "_id" : ObjectId("60780dbdfe214ec7b60ea68f"), "age" : 26 }
{ "_id" : ObjectId("60780dc0fe214ec7b60ea690"), "age" : 27 }
{ "_id" : ObjectId("60780dc3fe214ec7b60ea691"), "age" : 28 }
{ "_id" : ObjectId("60780e39fe214ec7b60ea692"), "age" : 20 }
我希望可以返回的是关于 age 的列表,比如{ age:[25,26,...] } 或者直接是[25,26,...]
这个可以实现嘛?还是只能从上面的结果进行处理生成数组
目前我使用 spring-boot-starter-data-mongodb 操作 mongodb 的,主要使用 MongoTemplate
我想了解下 MongoTemplate 有没有对其封装有实现上面两个需求的,目前我看文档也是没有找到
没有的话是不是只能查询出 List<User>,再编历读取构建 age 的数组了
有相关使用或者资料的小伙伴麻烦提供下你的建议!!谢谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.