- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个名为 Products 的集合,我正尝试使用官方的 mongo-csharp 驱动程序来枚举它。但是,一旦我尝试枚举集合(例如使用 foreach 循环),我就会收到以下错误。
“未找到 MongoDB.Driver.MongoDBRef 类型的默认构造函数”
实体类是这样的
public partial class Product
{
public BsonObjectId _id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Url { get; set; }
public int Price { get; set; }
public string Country { get; set; }
public MongoDBRef Merchant { get; set; }
}
集合中的条目如下所示
{
"_id" : ObjectId("4cff739fba63c20301ee5bc5"),
"Name" : "Product Name",
"Description" : "Product Description",
"Url" : "http://mysite/products/product-name",
"Price" : 1200,
"Country" : "au",
"Merchant" : {
"$ref" : "Merchant",
"$id" : ObjectId("533981033d565e640d000000")
}
}
我是这样读的。
var db = Db.Instance.GetDatabase();
var matches = db.GetCollection<Product>("Product").FindAll();
在执行以下任一操作之前,我不会收到错误消息。
var l = matches.ToList();
或
foreach (var p in matches) {
// Do something
}
最佳答案
显示代码
var db = Db.Instance.GetDatabase();
应该是这样的:
var server = MongoServer.Create("mongodb://localhost:27019");
var db = server.GetDatabase("database_name");
还有你的代码:
var matches = db.GetCollection<Product>("Product").FindAll();
3.我已经检查了 c# 的 mongo 驱动程序源,我在 MongoDBRef 中找到了以下内容
// default constructor is private and only used for deserialization
private MongoDBRef() {
}
所以我建议在您的 mongo 驱动程序版本中,来自 mongo c# 驱动程序团队的人忘记了默认构造函数。请以任何方式检查构造函数是否存在/不存在使用 reflector .4. 我 99% 确定构造函数不存在于您的 mongo 驱动程序版本中。因为当您开始枚举一些 mongo 集合时,mongo 驱动程序会期望数据,以防万一找不到默认构造函数会抛出错误。
关于mongodb - 无法使用 MongoDBRef 枚举对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4394964/
我正在使用 MongoDB 官方驱动程序 (10Gen)。而且我无法查询 MonogoDBRef 属性。我有以下类(class): public class UserData { privat
我有一个名为 Products 的集合,我正尝试使用官方的 mongo-csharp 驱动程序来枚举它。但是,一旦我尝试枚举集合(例如使用 foreach 循环),我就会收到以下错误。 “未找到 Mo
如何使用 C# 的 MongoDB 驱动程序在 C# 中获取 MongoDbRef。知道 FetchDbRef 方法不再存在。 最佳答案 在 related documentation 中不鼓励使用
我遇到过这样一种情况,最好将领域模型的特定部分表示为关系模型。我阅读了关于 database references 的部分在 MongoDB 中并了解您可以通过提供对外部集合中各种文档的 $ref 引
我是一名优秀的程序员,十分优秀!