bb_attachmentsgridfsオブジェクトを作成したmongodbデータベースがあります。したがって、デフォルトでは、以下の名前の2つのコレクションがあります。bb_attachments.files、bb_attachments.chunks
ファイルコレクション内のファイル名を使用してmongoシェルでクエリを実行すると、次のような応答があります...
> db.bb_attachments.files.find({"filename" : "C1208BSP130.pdf"}).toArray()
[
{
"_id" : "20120817014008229971__C1208BSP130.pdf",
"contentType" : "application/pdf",
"chunkSize" : 262144,
"filename" : "C1208BSP130.pdf",
"length" : 9177,
"uploadDate" : ISODate("2012-08-17T01:40:08.253Z"),
"md5" : "da39afb3968195f3ca5b8a1c25394b67"
}
]
>
しかし、Python IDLEを使用してクエリを実行すると、ファイルが存在しません。
>>> bb_attachments.exists({"filename" : "C1208BSP130.pdf"})
False
>>>
と例外のような..
>>> bb_attachments.get("20120817014008229971__C1208BSP130.pdf").read()
Traceback (most recent call last):
File "<pyshell#50>", line 1, in <module>
bb_attachments.get("20120817014008229971__C1208BSP130.pdf").read()
File "C:\Python25\Lib\site-packages\gridfs\__init__.py", line 130, in get
return GridOut(self.__collection, file_id)
File "C:\Python25\Lib\site-packages\gridfs\grid_file.py", line 343, in __init__
(files, file_id))
NoFile: no file in gridfs collection Collection(Database(Connection('my host', 27017), u'my db'), u'fs.files') with _id '20120817014008229971__C1208BSP130.pdf'
>>>
誰でもこれを詳しく説明できますか?そして、なぜbb_attachments.filesではなくfs.filesを取得しているのですか?
NoFile: no file in gridfs collection Collection(Database(Connection('my host', 27017), u'my db'), **u'fs.files'**) with _id '20120817014008229971__C1208BSP130.pdf'