weixin_42703556 2019-05-08 01:00 采纳率: 0%
浏览 867
已采纳

为什么在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条回答 默认 最新

  • 文氓 2019-05-17 14:38
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 4月19日

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建