summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stephens <mike@mindleak.com>2009-08-20 10:34:13 +0800
committerEliot <eliot@10gen.com>2009-08-20 10:53:37 +0800
commit45683d835df3b17832f29dac33f27bd7e4167136 (patch)
treefa323ace5f87b883c189ef6c0f9a1be624c5b40e
parent11b657f18d3d5824eed845caa7c51bdb72e43f7b (diff)
downloadmongo-45683d835df3b17832f29dac33f27bd7e4167136.tar.gz
getMetadata() for GridFile
Signed-off-by: Eliot <eliot@10gen.com>
-rw-r--r--client/gridfs.cpp9
-rw-r--r--client/gridfs.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/client/gridfs.cpp b/client/gridfs.cpp
index f4eb0093517..5c444296e36 100644
--- a/client/gridfs.cpp
+++ b/client/gridfs.cpp
@@ -124,6 +124,15 @@ namespace mongo {
return _client.query( _filesNS.c_str() , o );
}
+ BSONObj GridFile::getMetadata(){
+ BSONElement meta_element = _obj["metadata"];
+ if( meta_element.eoo() ){
+ return BSONObj();
+ }
+
+ return meta_element.embeddedObject();
+ }
+
Chunk GridFile::getChunk( int n ){
_exists();
BSONObjBuilder b;
diff --git a/client/gridfs.h b/client/gridfs.h
index 8f40004132b..2ed198d67e7 100644
--- a/client/gridfs.h
+++ b/client/gridfs.h
@@ -129,6 +129,8 @@ namespace mongo {
return _obj["md5"].str();
}
+ BSONObj getMetadata();
+
int getNumChunks(){
return (int) ceil( (double)getContentLength() / (double)getChunkSize() );
}