Hi AndroidFolk,
Thanks for detail input. Please see my answer below inline
Q1-- Would you put the 5 datafields in the same DB/collection as the userId,Geo,Date.. basically all in one JSON
OR would you put the 5 datafields in another collection where it is referenced by userID ( I prefer this for segregation of information and to follow DB design standard).
ANSWER >> You can use either way however it is all driven from UI design that you have. If you want to show all information in the app on the same page, you can use same collection to dump all information. However if UI has first page as basic information and then detail information on profile page, you can separate in two different collections. In this case you have to make another call to App42 if user cicks on detail information link and you will pass userId as reference which is being used in another collection for storing the data.
Q2- How can you do the above query going across different products ( and potentially across different collections) keeping in mind we are return recent data only?
ANSWER >>> As I explained before, you can make use of UserID or any other reference Id to make a query in another collection. There is no join operation support in NoSQL based db and you have to make another call to fetch data back in the app.
Let me know if it answers your question.
Thanks
AJay