本文将带您了解关于不将mongodb文档id转换为pojo字段的新内容,同时我们还将为您解释mongodb_idobjectid转uuid的相关知识,另外,我们还将为您提供关于c#Mongodb两个字
本文将带您了解关于不将 mongodb 文档 id 转换为 pojo 字段的新内容,同时我们还将为您解释mongodb _id objectid 转uuid的相关知识,另外,我们还将为您提供关于c# Mongodb 两个字段不相等 MongoDB 原生查询、Jackson 在将 POJO 转换为 Map 时将 Set 转换为 List、Java POJO类直接存储在MongoDB中、Modular官方推荐的 Mojo文档和Mojo社区的实用信息。
本文目录一览:- 不将 mongodb 文档 id 转换为 pojo 字段(mongodb _id objectid 转uuid)
- c# Mongodb 两个字段不相等 MongoDB 原生查询
- Jackson 在将 POJO 转换为 Map 时将 Set 转换为 List
- Java POJO类直接存储在MongoDB中
- Modular官方推荐的 Mojo文档和Mojo社区
不将 mongodb 文档 id 转换为 pojo 字段(mongodb _id objectid 转uuid)
如何解决不将 mongodb 文档 id 转换为 pojo 字段?
我正在从 mongodb 检索一些文档,然后将该文档转换为 json。生成的json如下
{"_id": {"$oid": "60f84fc822818919d59e3ad2"},"Metadata": [{"country": "USA","authors": [{"author": "Ayn Rand","books": [{"name": "The Fountainhead","code": "TFH"}]}]}]}
我创建了一个 POJO 来解析它,其他所有内容都被正确解析,但“_id”部分没有被解析。任何建议为什么它没有被解析?
以下是我的 POJO
import com.fasterxml.jackson.annotation.JsonProperty;
public class MetadataCollection {
@JsonProperty("_id")
private MetadataId id;
private List<Metadata> Metadata;
public MetadataId getId() {
return id;
}
public void setId(MetadataId id) {
this.id = id;
}
public List<Metadata> getMetadata() {
return Metadata;
}
public void setMetadata(List<Metadata> Metadata) {
this.Metadata = Metadata;
}
}
和
import com.fasterxml.jackson.annotation.JsonProperty;
public class MetadataId {
@JsonProperty("$oid")
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
我尝试使用“id”、“@Id”、“$oid”以及来自其他答案 like this 的一些建议。我使用的方法如下
public List<MetadataCollection> getAuthorsMetadata() {
Gson gson = new Gson();
MongoCollection<Document> MetadataCollection = mDatabase.getCollection("authors_Metadata");
MongoCursor<Document> findIterableDocuments = MetadataCollection.find().cursor();
List<MetadataCollection> returnMetadata = new ArrayList<>();
while (findIterableDocuments.hasNext()) {
Document currentDocument = findIterableDocuments.next();
String jsonString = currentDocument.toJson();
MetadataCollection Metadata = gson.fromJson(jsonString,MetadataCollection.class);
returnMetadata.add(Metadata);
}
mongoClient.close();
return returnMetadata;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
c# Mongodb 两个字段不相等 MongoDB 原生查询
var document = new BsonDocument{
{ "$where","this.StarTime!=this.EndTime"},
{ "Closed",1},
{ "StarTime",new BsonDocument("$gte",request.Stime)},
{ "EndTime",new BsonDocument("$lte",request.Etime)},
{ "TotalSecond",new BsonDocument(para,request.TotalMin * 60)}
};
var list= collection.Find(document);
其中 this 不能省略,写法同 mongodb 命令,使用此写法可以自由拼接参数
// 判断时间范围,单位:秒
var document = new BsonDocument{
{ "$where","this.StarTime-this.EndTime>10"},
{ "Closed",1},
{ "StarTime",new BsonDocument("$gte",request.Stime)},
{ "EndTime",new BsonDocument("$lte",request.Etime)},
{ "TotalSecond",new BsonDocument(para,request.TotalMin * 60)}
};
var list= collection.Find(document);
Jackson 在将 POJO 转换为 Map 时将 Set 转换为 List
如何解决Jackson 在将 POJO 转换为 Map 时将 Set 转换为 List?
嗨,
我有一个 (POJO) 模型对象,有时需要将其转换为 Map
。
我目前正在使用 Jackson 作为一个很好的库,我在其他地方也经常使用它。
除了我的 POJO 中的变量是 Set
之外,一切正常,因为 Jackson 在结果 List
中将它们转换为 Map
。
但这不行,因为我的用例需要 Set
的属性。
这是一个简短的单元测试来显示问题:
@Getter
@AllArgsConstructor
public class O {
private Set<String> abc;
}
@Test
void test() throws Exception {
Map map = new ObjectMapper().convertValue(new O(Set.of("abc","def")),Map.class);
assertFalse(List.class.isAssignableFrom(map.get("abc").getClass())); // Already fails
assertTrue(Set.class.isAssignableFrom(map.get("abc").getClass()));
}
如何让 Jackson 使用变量的原始 Collection 类型?
谢谢
克里斯
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Java POJO类直接存储在MongoDB中
记录Java POJO类直接存储在MongoDB中的策略。
maven:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.8.0</version>
</dependency>
Java POJO类定义:
public class DiagnoseDocument {
private ObjectId id;
private String time;
private String instance;
private ArrayList<DiagnsoeResult> result;
}
public class DiagnsoeResult {
private String instance_name;
private String rule_name;
private String problem_level;
private String problem_name;
private String problem_detail;
private String advice;
}
插入的方法:
//复制集连接MongoDB
String uriString = getURIString(primary);
// 需要针对对象中的类型设置Codec
CodecProvider pojoCodecProvider = PojoCodecProvider.builder().register(DiagnoseDocument.class, DiagnsoeResult.class).build();
CodecRegistry pojoCodecRegistry = fromRegistries(fromCodecs(new StringCodec(), new ObjectIdCodec(), new BsonArrayCodec()), fromProviders(pojoCodecProvider));
MongoClient mongoClient = new MongoClient(new MongoClientURI(uriString));
MongoDatabase database = mongoClient.getDatabase("mydb");
//对Collection中的类型设置Codec
MongoCollection<DiagnoseDocument> collection = database.getCollection("soar", DiagnoseDocument.class).withCodecRegistry(pojoCodecRegistry);
collection.insertOne(diagnoseDocument);
Modular官方推荐的 Mojo文档和Mojo社区
Modula在最近的第35期 Modverse Weekly 中推荐了 Mojo文档 和 Mojo社区。
Modverse Weekly原文地址:https://www.modular.com/newsletters/modverse-weekly-35
Modverse Weekly 推荐 Mojocn
一直以来 Modular官方并没有专有的Mojo社区,目前mojo问题反馈和交流主要在GitHub和discord,这对于大多数国内用户不是很友好。
为了更方便中文用户交流,Mojo中文网一直以来都在致力于mojo文档的翻译,同时建立了一系列的用户群聊,与Mojo爱好者一起共建了Mojo Dev社区。
我们汇聚了丰富的 Mojo 文档、活跃热情的成员。无论您是初学者还是资深开发者,都能在这里找到所需的资源和支持。
Mojo 中文网
- 提供全面的 Mojo 文档,涵盖教程、指南和参考手册
- 定期发布技术文章和案例研究,深入剖析 Mojo 技术
- 及时同步 Modular 官方动态,让您掌握最新资讯
Mojo 社区
- 活跃的中文用户社区,随时欢迎您的提问和讨论
- 经验丰富的成员乐于分享知识和提供技术支持
- 定期组织社区活动和在线会议,促进交流和学习
彩蛋:谷歌搜索 "Mojo官网" 第名是Mojo中文网,第二名才是 Modular官网:
参考:
Modverse Weekly:www.modular.com/newsletters/modverse-weekly-35
Mojo中文网:mojocn.org
Mojo Dev 社区:mojoo.org
谷歌搜索:www.google.com.hk/search?q=mojo%E5%AE%98%E7%BD%91
关于不将 mongodb 文档 id 转换为 pojo 字段和mongodb _id objectid 转uuid的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c# Mongodb 两个字段不相等 MongoDB 原生查询、Jackson 在将 POJO 转换为 Map 时将 Set 转换为 List、Java POJO类直接存储在MongoDB中、Modular官方推荐的 Mojo文档和Mojo社区等相关知识的信息别忘了在本站进行查找喔。
本文标签: