我正在使用 Mongo .Net 驱动程序在 MongoDB 中插入文档,我需要使用 Java 驱动程序获取文档。
我的型号:
public class Person{
public Guid Id {get;set;}
public Guid FatherId{get;set;}
public string Name{get;set;}
}
我正在使用以下 C# 代码向 MongoDb 插入一个文档。
var id= Guid.NewGuid();
Persons.InsertOne(new Person(){Id = id,Name = "Joe"});
现在,有了 id,如何使用 Mongo Java 驱动程序找到相同的文档?我试过:
Person person=Persons.find(eq("_id", id))).first();
但是我没有得到任何结果,我已经研究过了,似乎在使用 find 之前应该将 id 转换为 Base64。
所以我尝试了以下方法:
public String uuidToBase64(String str) {
java.util.Base64.Encoder encoder=Base64.getUrlEncoder();
UUID uuid = UUID.fromString(str);
ByteBuffer uuidBytes = ByteBuffer.wrap(new byte[16]);
uuidBytes.putLong(uuid.getMostSignificantBits());
uuidBytes.putLong(uuid.getLeastSignificantBits());
return encoder.encodeToString(uuidBytes.array());
}
Person person=Persons.find(eq("_id", BinData(3,uuidToBase64(id))))).first();
那还是不行。
aluckdog
相关分类