weixin_42703556
weixin_42703556
2019-05-08 01:00

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

  • c#
  • asp.net
  • mongodb
  • visual studio
  • nosql

问题描述:
最近在学习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条回答