For a temporal or time based key value store (I think this is kinda what the presentation shows) I used a collection that was something like:<p>Temporal Collection
{ _id: "X1", data_temporal : [ { time_start: SomeDate, time_stop: SomeDate, _id: "ID2" }, { time_start: SomeDate2, time_stop: SomeDate2, _id: "ID2" }]<p>Data Collection
{ _id: "ID1", parent: X1, data: { field1: "some info", field2: 34 },
_id: "ID2", parent: X1, data: { field1: "Some info new", field2: 34 } }<p>What is cool about this is that if you have access to the data like ID1, you can easily find out when it was added and how it changed.<p>If you have access to the temporal ID, X1, then at any time you can see what the data looked like.<p>If you need to relate data, the "foreign key" used is the data_temporal ID. In this way, it is possible to ask what your key value store data looked like at any time.<p>But, this could be off from the article.<p>This also works quite well in a relational database.