Hi Robert, You would have to use AbstractBlobStore#resolveChunks [1] to get the all the blob ids available in the blob collection for the id stored in the node. For the example id you have it is likely that this is a in-memory blob (default < 4096 bytes ) and the data is encoded in the id itself and these id encoded blobs won't be returned by the above method.
Thanks Amit [1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java#L592 On Fri, May 6, 2016 at 6:30 PM, Robert Munteanu <[email protected]> wrote: > Hi, > > Using the DocumentNodeStore with a Mongo backend, I'm trying to match > blobs which are linked to certain nodes. > > What I do is: > > - look for nodes with _bin == 1 > - look at the values from jcr:data property map > - for each value, strip the :blobId: and unquote the value > > At this point, I expected a blob id which matches the ids of objects > from the blobs collection. However, there seems to be some extra > information attached to the property in the nodes collection. > > For example, if a blob has the id > '0100bd6c2070cccd6d571350269554f06d0bb928d57463e3e74c8434d00a274a52c57f > 6cbd', it is referenced in a property as > '0100bd6c2070cccd6d571350269554f06d0bb928d57463e3e74c8434d00a274a52c57f > 6cbd'. The difference is in the extra 10 bytes at the start ( > '0100bd6c20' ). Those 10 bytes seem to vary between blob id references, > so I'm not sure how to interpret them. > > How do I figure out which is the blob id that I should be looking for > in the blobs collection? > > Thanks, > > Robert >
