I'm completely new to MongoDB, so perhaps this is something obvious.
But extensive googling didn't turn up anything.
I set up a brand new MongoDB account, created a database named
'resizer-test' with accnt 'resizer' and password 'test'. I then
uploaded an image named 'flames.jpg' using the web interface
successfully.
I then tried to download the file from C# using the following code and
the official C# driver (version 1.3.1)
string connectionString = "mongodb://
resizer:te...@staff.mongohq.com:
10028/resizer-test";
this.db = MongoDatabase.Create(connectionString);
gridSettings = new MongoGridFSSettings();
grid = db.GetGridFS(gridSettings);
return grid.OpenRead("flames.jpg");
But immediately got this exception:
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
http://stackoverflow.com/questions/9382347/mongodb-gridfs-error-duplicate-element-name-filename
Any ideas?