从mongoDB聚合获取到了 Bson,现在想把这个Bson转换为实体对象
可是 ObjectId始终无法转换,希望大牛们解一下惑
可以怎样把 Bson 绑定到一个自定义 对象上
或者,怎样可以把获取到的 ObjectId 转 string
感激不尽
在步骤二,Json转换为实体对象时,提示我ObjectId转换失败
详细:
1.这是通过聚合和获取到的结果
`
List<BsonDocument> pipe = mRoot.answerRecord.GetAggregate()
.Match(x => x.userId == userId && x.subjectId == subjectId)
.Match(x => x.correct == 0 || x.correct == 1)
.Sort(BsonDocument.Parse("{ 'mtime' : -1 }"))
.Lookup("question", "questionId", "_id", "question")
.Skip(pageSize * (page - 1))
.Limit(pageSize).ToList();
`
2.这是我尝试遍历 并转换为实体对象
`foreach(var p in pipe)
{
//TODO ObjectId 转换存疑
var j = p.ToJson();
ErrorRecordsResult r = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorRecordsResult>(j);
results.Add(r);
}
`
3.实体对象
`public class ErrorRecordsResult
{
public ObjectId _id { get; set; }
public int cate;
}`
你用的是
MongoDB.Bson
这个库么?直接ToString()
不就完了?针对评论区的补充: