为什么在C#中连接mongoDB获取不到Database对象?

问题描述:
最近在学习Mongodb,最近准备弄一个C#操作Mongodb的Demo,可是按照网上的连接方法都获取不到
那个database对象,返回来的值一值为“null”,试了几种方法都没用。
自己将环境问题排除了,首先,访问http://localhost:27017能够正常返回:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
说明 mongdb的服务已经打开了。
另外,在vs的nuget中获取了mongodb.driver的C#驱动,版本2.8.0,并成功安装
安装后并引用命名空间的如下:
图片说明
另外,在mongodb数据文档中 已经建立名为“ School”数据库,在该database下面
已经存在名为 student的Collection并且有数据,如下:

图片说明
但就是在c#中获取不到School对象,代码如下,请各路大神诊断是什么问题。
using System;

//首先获取Nuget 中的安装包 mongocsharpdriver,安装并引用命名空间

using MongoDB;

using MongoDB.Driver;

using MongoDB.Driver.Core;

using MongoDB.Bson;

namespace MongoDBDemo

{

class Program
{
    //Collection名
    static string CollectionName = "student";
    static void Main(string[] args)
    {   
            //127.0.0.1改为Localhost也没用
        string connectionString = "mongodb://127.0.0.1:27017";
        //数据库名
        string databaseName = "School";

        //var mongo = new Mongo();
        //mongo.Connect();
        //
        MongoDB.Driver.MongoClient mongoClient = new MongoDB.Driver.MongoClient(connectionString);
         下面这个db 获取的值为null
        MongoDatabase db = mongoClient.GetDatabase(databaseName) as  MongoDatabase;
        MongoCollection<BsonDocument> mongoCollection = db.GetCollection<BsonDocument>(CollectionName) as MongoCollection<BsonDocument>;
                    }
        }

}

由于CSDN新手,没币,所以无法悬赏,请各路大神包涵

1个回答

我使用的是MongoDB驱动是Version=2.7.3.0,MongoDatabase并不是实现IMongoDatabase接口的对象;你使用mongoClient.GetDatabase(databaseName)获取到的是个IMongoDatabase类型的实例对象,直接使用as 转化为MongoDatabase,实质上是Object类型转换;(前面表述可能不太正确,反正意思就是他们没有好大个关系你非得强行拉关系)
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!