Enrichment

Enrichment of Collection Entries

Objects stored inside collections can be embedded inside activities or user objects. This allows you to integrate with Stream without building a complex integration with another database. Stream’s collections can be used as your data source for data enrichment.

// first we add our object to the food collection CollectionData cheeseBurger = client.collections().add("food", new CollectionData("123")  .set("name", "Cheese Burger")  .set("ingredients", Lists.newArrayList("cheese", "burger", "bread", "lettuce", "tomato"))).join();  // the object returned by .add can be embedded directly inside of an activity userFeed.addActivity(Activity.builder()  .actor(createUserReference("john-doe"))  .verb("grill")  .object(createCollectionReference(cheeseBurger.getCollection(), cheeseBurger.getID()))  .build()).join();  // if we now read the feed, the activity we just added will include the entire full object userFeed.getEnrichedActivities();  // we can then update the object and Stream will propagate the change to all activities client.collections().update(cheeseBurger.getCollection(), cheeseBurger  .set("name", "Amazing Cheese Burger")  .set("ingredients", Lists.newArrayList("cheese", "burger", "bread", "lettuce", "tomato"))).join();
© Getstream.io, Inc. All Rights Reserved.