问一下,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" }
- 进行查询 age,获取 age 的值
> db.user.find({"name":"test"},{"age":1})
{ "_id" : ObjectId("60780e39fe214ec7b60ea692"), "age" : 20 }
但我希望返回的直接是20,这个 mongodb 支持的嘛?
目前我查阅的资料都是不支持的,有没有人有其他的操作
- 查询 age 列表
> 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
目前我使用 spring-boot-starter-data-mongodb 操作 mongodb 的,主要使用 MongoTemplate
我想了解下 MongoTemplate 有没有对其封装有实现上面两个需求的,目前我看文档也是没有找到
没有的话是不是只能查询出 List<User>,再编历读取构建 age 的数组了
有相关使用或者资料的小伙伴麻烦提供下你的建议!!谢谢!
