2

当我尝试使用 Iron Python 连接到 mongodb(使用 pymongo)时出现此错误...

Traceback (most recent call last):
  File "test.py", line 3, in <module>
  File "c:\Program Files (x86)\IronPython 2.7\lib\site-packages\pymongo\connecti
on.py", line 179, in __init__
  File "c:\Program Files (x86)\IronPython 2.7\lib\site-packages\pymongo\mongo_cl
ient.py", line 269, in __init__
pymongo.errors.ConnectionFailure: Specified cast is not valid.

代码很简单,我已经替换了数据库名称。

import pymongo

c = pymongo.Connection('mongodb://testuser:test123@linus.mongohq.com:10021/sometestdb')

它适用于常规 python。有任何想法吗?

4

2 回答 2

3

pymongo 不支持 Ironpython - 所以我不建议尝试使用它。您可以在 pypi 页面上看到支持的实现列表:http: //pypi.python.org/pypi/pymongo

于 2013-01-30T16:11:03.313 回答
0

另请在此处查看答案:Working with PTVS, IronPython and MongoDB


您可能无法将 pymongo 与 IronPython 一起使用,但您可以使用 IronPython 中用于 MongoDB 的 C#/.NET 驱动程序。

有关驱动程序的信息在这里。如此链接中所述,您可以使用 nuget ( PM> Install-Package mongocsharpdriver) 进行安装,或者只下载 dll。

安装后,您可以在 IronPython 中以正常方式使用程序集:

    # Add reference to the Mongo C# driver
    import clr
    clr.AddReferenceToFileAndPath("MongoDB.Bson.dll")
    clr.AddReferenceToFileAndPath("MongoDB.Driver.dll")

然后根据MongoDB C# Driver API 使用,例如:

    # Get the MongoDB database
    from MongoDB.Driver import MongoClient
    client = MongoClient("mongodb://localhost")
    server = client.GetServer()
    database = server.GetDatabase("test")

    # Get a collection
    collection = database.GetCollection("users")

    # Add a document
    from MongoDB.Bson import BsonDocument
    user = BsonDocument({'first_name':'John', 'last_name':'Smith'})
    collection.Insert(user)

有关更多信息,请参阅MongoDB C# 驱动程序 API

于 2014-11-05T14:05:15.310 回答