具有UUIDGUID的MongoDB C#过滤器返回0个结果

问题描述

我有一个MongoDB集合“帖子”,其数据如下:

{
 "_id": UUID('5fd671be-df7c-4dd2-87dc-9877a7fb1953'),"EditorId": UUID('f79fc0d8-0200-4eef-91c2-4062ee9a2354'),"Name": "Name 01"
}

在C#中,我尝试获取特定EditorId的所有记录,我尝试这样做:

BsonDefaults.GuidRepresentation = GuidRepresentation.Standard;

var postsCollection = _database.GetCollection<BsonDocument>("Posts");
var postsCollection2 = _database.GetCollection<Post>("Posts");
 
Guid editorId = ...
 
var postsdocs = postsCollection.Find(Builders<BsonDocument>.Filter.Eq("EditorId",editorObj.Id)).ToList();
var posts = postsCollection2.Find(p => p.EditorId == editorObj.Id).ToList();

但是这种方式都不起作用,我没有结果!您对这个问题有什么想法,如何解决

Thx

解决方法

我找到了一个解决方案,我发布了解决方案,希望它能对某人有所帮助。

诀窍是添加

BsonDefaults.GuidRepresentation = GuidRepresentation.Standard;

在进行数据库连接之前,我只是在此之后!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...