可能是MongoDB异常错误
本文关键字:异常 错误 MongoDB | 更新日期: 2023-09-27 18:12:59
今天我想从SQL Ce转移到MongoDB。我下载了驱动程序并在本地PC上运行服务器。
下面是我的实际代码(顺便说一句,我甚至不知道将IMongoCollection转换为MongoCollection是否安全):
using System;
using MongoDB.Driver;
namespace MongoShit
{
class Program
{
class Apple
{
public int price, weight;
public string color;
public Apple()
{
price = 0;
weight = 0;
color = "ayye";
}
}
static protected IMongoClient client;
static protected IMongoDatabase database;
static void Main(string[] args)
{
client = new MongoClient("mongodb://localhost");
database = client.GetDatabase("test");
database.CreateCollection("apples");
var data = new Apple() { price = 100, weight = 500, color = "green" };
MongoCollection<Apple> collection = (MongoCollection<Apple>)database.GetCollection<Apple>("apples");
collection.Insert(data);
var cursor = collection.FindAll();
foreach(Apple a in cursor)
{
Console.WriteLine(string.Format("Apple, P: {0} W: {1} C: {2}", new object[] { a.price, a.weight, a.color }));
}
Console.Read();
}
}
}
但是每当我尝试运行程序时,我都会得到以下错误:未处理的System.IO类型异常。FileNotFoundException'发生在mscorlib.dll
附加信息:无法加载文件或程序集"System.Runtime.InteropServices"。RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件
怎么回事?: S
您不需要强制转换为MongoCollection,因此这一行应该可以为您工作
var collection = database.GetCollection<Apple>("apples");
同样,您不需要显式地创建一个集合,如果一个集合还不存在,MongoDB会这样做,所以这一行可以进入
database.CreateCollection("apples");
这是Mongo 2.4的NuGet包的问题,依赖项缺失。这个问题已经在10月26日修复了,但是NuGet还没有修复。
你可以使用2.3,或者手动添加依赖,直到更新被推送。