无法在我的C#控制台应用程序中使用MongoDB

6
无法连接到服务器localhost:27017:命令'ping'失败:没有这样的cmd(响应:{"errmsg":"no such cmd","ok":0.0})。
这可能是我在这里忽略的基础知识...请帮帮我。
以上是我收到的异常信息... 以下是我正在使用的代码(它是该网站提供的示例演示) 注意:我的数据库正在运行。我能够从命令行创建和编辑数据库。
using System;
using System.Collections.Generic;

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;

namespace MongoDBTest
{
    public class Entity
    {
        public ObjectId Id { get; set; }
        public string Name { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var connectionString = "mongodb://localhost/?safe=true";
            var server = MongoServer.Create(connectionString);
            var database = server.GetDatabase("test");
            var collection = database.GetCollection<Entity>("entities");

            var entity = new Entity { Name = "Tom" };
            collection.Insert(entity);
            var id = entity.Id;

            var query = Query.EQ("_id", id);
            entity = collection.FindOne(query);

            entity.Name = "Dick";
            collection.Save(entity);

            var update = Update.Set("Name", "Harry");
            collection.Update(query, update);

            collection.Remove(query);
        }
    }
}

你能从命令提示符中ping一下本地主机吗? - Anders Gustafsson
是的,我可以从命令提示符中ping通我的本地主机。我能够在命令提示符中操作数据库。 - mohanaravind
将连接字符串中的“localhost”更改为“127.0.0.1”没有任何区别吗? - Anders Gustafsson
我甚至尝试过了。问题不在于我的应用程序无法ping通MongoDB服务器,因为我总是在服务器控制台上看到以下信息:“连接已接受自#地址”,然后在下一行我会看到“连接已断开#地址”。 - mohanaravind
1个回答

4

您可以通过mongo shell运行以下命令:

> db.version()
2.2.0
> db.runCommand("ping")
{ "ok" : 1 }
>

这是为了验证您是否使用的服务器版本过于老旧,没有ping命令。


1
非常感谢你,Robert。我运行的是1.1.0版本 :) 晚上下载文件时,我认为我下载了最旧的版本。现在它完美地工作了... - mohanaravind

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接