2

Iron Python で (pymongo を使用して) mongodb に接続しようとすると、このエラーが発生します...

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

Ironpythonはpymongoでサポートされていないため、使用することはお勧めしません。サポートされている実装のリストは、pypiページで確認できます:http://pypi.python.org/pypi/pymongo

于 2013-01-30T16:11:03.313 に答える
0

こちらの回答も参照してください: Working with PTVS, IronPython and MongoDB


IronPython で pymongo を使用できない場合がありますが、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 に答える