- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有 mongoDB 集合,其中包含如下文档
{
"_id" : ObjectId("5cb2dd4d378a8e2484e7bb69"),
"name":"ali",
"creator" : {
"name":"user1",
"code":2,
"type" : "desk",
"type_id" : "desk::bb36640a-e384-45ec-aafa-ce71b724c389"
},
"creatorPosition" : {
"name":"user2",
"role":"admin",
"type" : "position",
"type_id" : "position::9f711bb3-3aad-4936-b75a-4ddd024b4bb1"
},
"creatorDetails" : {
"name":"user1",
"type" : "deskUserAssignment",
"type_id" : "deskUserAssignment::dd46fa14-0fd3-43d7-8312-471bc253ee80"
}
}
我想保留每个字段中的两个键值("type"、"type_id"
)并删除多余的键(例如 "name"、"code"、"role"
)
我可以在一个 mongo 查询中处理这个问题吗?
另外,我想用java写这段代码
最佳答案
最简单的方法是使用 MongoTemplate 的投影优惠
例如,使用 org.springframework.data.mongodb.core.query.Query
包含字段和org.springframework.data.mongodb.core.MongoTemplate
用于检索结果:
Query query = new Query();
query.fields().include("creator.type").include("creator.type_id");
query.fields().include("creatorPosition.type").include("creatorPosition.type_id");
query.fields().include("creatorDetails.type").include("creatorDetails.type_id");
List<Document> documents = mongoTemplate.find(query, Document.class, "your_collection");
有关更多信息,请参阅本文:https://www.mkyong.com/mongodb/spring-data-mongodb-select-fields-to-return/
关于java - 如何在 mongoDB 文档字段中保留特殊键并删除其中多余的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58361432/
我是一名优秀的程序员,十分优秀!