【发布时间】:2022-11-28 19:17:26
【问题描述】:
我试图通过 uuid/guid 在 mongoDB 中查找文档,但即使将 C# uuid 转换为标准 uuid,它也不起作用。在其他属性上使用 find() 效果很好。
关于 uuid 本身的更多细节:它们是 minecraft 帐户的 uuid,由插件插入。我正在尝试使用 C# 从 mognoDB 查询它们以制作一个 api。我知道存储的 uuid 是新的 uuid 格式,因为这是它在二进制数据中返回的格式(4 是标准 uuid):image
我试过以下方法:
public async Task<User> Get(Guid uuid) {
BsonBinaryData binUuid = new BsonBinaryData(uuid, GuidRepresentation.Standard);
return await users.Find(Builders<User>.Filter.Eq("_id", binUuid)).FirstOrDefaultAsync<User>();
}
我的用户模型如下所示:
public class User {
public Guid Id {get; set;}
public string? data {get; set;}
public string? lastKnownName {get; set;}
public SkinBlob? lastKnownSkin {get; set;}
public DateTime? lastOnline {get; set;}
public DateTime? firstJoin {get; set;}
public string? maskRank {get; set;}
public string? maskName {get; set;}
public SkinBlob? maskSkin {get; set;}
public string? disguise {get; set;}
public PermissionInfo? permissionInfo {get; set;}
}
在 mongoDB compass 中,用户看起来是这样的: mongdoDB compass screenshot
【问题讨论】:
标签: c# database mongodb uuid guid