可能是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

可能是MongoDB异常错误

您不需要强制转换为MongoCollection,因此这一行应该可以为您工作

var collection = database.GetCollection<Apple>("apples");

同样,您不需要显式地创建一个集合,如果一个集合还不存在,MongoDB会这样做,所以这一行可以进入

 database.CreateCollection("apples");

这是Mongo 2.4的NuGet包的问题,依赖项缺失。这个问题已经在10月26日修复了,但是NuGet还没有修复。

你可以使用2.3,或者手动添加依赖,直到更新被推送。