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
>

Reply via email to