2012-02-21 2 views
0

私はMongoDBを全く新しくしているので、これは明らかなことかもしれません。しかし、グーグルは働かなかった。MongoDB GridFSエラー:重複した要素名 'filename'

私は新しいMongoDBアカウントをセットアップし、accnt 'resizer'とパスワード 'test'で 'resizer-test'という名前のデータベースを作成しました。その後、ウェブインターフェースを使って 'flames.jpg'という名前の画像をアップロードしました。

私は、次のコードを使ってC#からファイルをダウンロードしようとしたと公式のC#のドライバ(バージョン1.3.1)

string connectionString = "mongodb://resizer:[email protected]:10028/resizer-test"; 
this.db = MongoDatabase.Create(connectionString); 
gridSettings = new MongoGridFSSettings(); 
grid = db.GetGridFS(gridSettings); 
return grid.OpenRead("flames.jpg"); 

をしかし、すぐにこの例外が発生しました:

InvalidOperationException: Duplicate element name 'filename'. 

at MongoDB.Bson.BsonDocument.Add(BsonElement element) in C:\work\10gen\mongodb\mongo-csharp-driver\Bson\ObjectModel\BsonDocument.cs:line 452 
    at MongoDB.Bson.BsonDocument.Deserialize(BsonReader bsonReader, Type nominalType, IBsonSerializationOptions options) in C:\work\10gen\mongodb\mongo-csharp-driver\Bson\ObjectModel\BsonDocument.cs:line 720 
    at MongoDB.Bson.BsonDocument.ReadFrom(BsonReader bsonReader) in C:\work\10gen\mongodb\mongo-csharp-driver\Bson\ObjectModel\BsonDocument.cs:line 393 
    at MongoDB.Bson.Serialization.BsonSerializer.Deserialize(BsonReader bsonReader, Type nominalType, IBsonSerializationOptions options) in C:\work\10gen\mongodb\mongo-csharp-driver\Bson\Serialization\BsonSerializer.cs:line 214 
    at MongoDB.Driver.Internal.MongoReplyMessage`1.ReadFrom(BsonBuffer buffer, IBsonSerializationOptions serializationOptions) in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\Internal\MongoReplyMessage.cs:line 94 
    at MongoDB.Driver.Internal.MongoConnection.ReceiveMessage[TDocument](BsonBinaryReaderSettings readerSettings, IBsonSerializationOptions serializationOptions) in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\Internal\MongoConnection.cs:line 383 
    at MongoDB.Driver.MongoCursorEnumerator`1.GetReply(MongoConnection connection, MongoRequestMessage message) in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\Core\MongoCursorEnumerator.cs:line 263 
    at MongoDB.Driver.MongoCursorEnumerator`1.GetFirst() in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\Core\MongoCursorEnumerator.cs:line 223 
    at MongoDB.Driver.MongoCursorEnumerator`1.MoveNext() in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\Core\MongoCursorEnumerator.cs:line 126 
    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) 
    at MongoDB.Driver.GridFS.MongoGridFSFileInfo.Refresh() in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\GridFS\MongoGridFSFileInfo.cs:line 447 
    at MongoDB.Driver.GridFS.MongoGridFSFileInfo.get_Exists() in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\GridFS\MongoGridFSFileInfo.cs:line 150 
    at MongoDB.Driver.GridFS.MongoGridFSStream..ctor(MongoGridFSFileInfo fileInfo, FileMode mode, FileAccess access) in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\GridFS\MongoGridFSStream.cs:line 76 
    at MongoDB.Driver.GridFS.MongoGridFSFileInfo.Open(FileMode mode, FileAccess access) in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\GridFS\MongoGridFSFileInfo.cs:line 408 
    at MongoDB.Driver.GridFS.MongoGridFSFileInfo.OpenRead() in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\GridFS\MongoGridFSFileInfo.cs:line 416 
    at MongoDB.Driver.GridFS.MongoGridFS.OpenRead(String remoteFileName) in C:\work\10gen\mongodb\mongo-csharp-driver\Driver\GridFS\MongoGridFS.cs:line 696 
    at ImageResizer.Plugins.MongoReader.MongoReaderPlugin.MongoVirtualFile.Open() in C:\Users\Administrator\Documents\resizer\Plugins\MongoReader\MongoReaderPlugin.cs:line 79 
    at ImageResizer.ImageBuilder.GetStreamFromSource(Object source, ResizeSettings settings, Boolean& disposeStream, String& path, Boolean& restoreStreamPosition) in C:\Users\Administrator\Documents\resizer\Core\ImageBuilder.cs:line 253 
    at ImageResizer.ImageBuilder.LoadImage(Object source, ResizeSettings settings, Boolean restoreStreamPos) in C:\Users\Administrator\Documents\resizer\Core\ImageBuilder.cs:line 135 
    at ImageResizer.ImageBuilder.BuildJob(ImageJob job) in C:\Users\Administrator\Documents\resizer\Core\ImageBuilder.cs:line 388 
    at ImageResizer.ImageBuilder.Build(ImageJob job) in C:\Users\Administrator\Documents\resizer\Core\ImageBuilder.cs:line 371 
    at ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings, Boolean disposeSource, Boolean addFileExtension) in C:\Users\Administrator\Documents\resizer\Core\ImageBuilder.cs:line 357 
    at ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings, Boolean disposeSource) in C:\Users\Administrator\Documents\resizer\Core\ImageBuilder.cs:line 343 
    at ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings) in C:\Users\Administrator\Documents\resizer\Core\ImageBuilder.cs:line 330 
    at ImageResizer.InterceptModule.<>c__DisplayClass2.<HandleRequest>b__1(Stream stream) in C:\Users\Administrator\Documents\resizer\Core\InterceptModule.cs:line 266 
    at ImageResizer.Plugins.Basic.NoCacheHandler.ProcessRequest(HttpContext context) in C:\Users\Administrator\Documents\resizer\Core\Plugins\Basic\NoCacheHandler.cs:line 28 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

何午前私は行方不明?

答えて

1

エラーメッセージは正当なものでした。

アップロード中にMongoHQ.COMがファイルに重複したファイル名要素を添付していました。これはマニュアルファイル管理インターフェースのバグです。

関連する問題