GVKun编程网logo

不将 mongodb 文档 id 转换为 pojo 字段(mongodb _id objectid 转uuid)

15

本文将带您了解关于不将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)

不将 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 原生查询

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

如何解决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中

记录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社区

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社区等相关知识的信息别忘了在本站进行查找喔。

本文标签: