, MongoDB. , , , , .. :
{
object : whatever,
date : new Date()
}
, , , . :
db.foo.update({object: obj._id}, {$push : {history : {date : new Date(), object : obj}}})
...
db.foo.update({object: obj._id}, {$push : {history : {date : new Date(), object : obj}}})
( ) , , , , . , . , :
{
object : startingObj,
history : [
{ date : d1, addField : { x : 3 } },
{ date : d2, changeField : { z : 7 } },
{ date : d3, removeField : "x" },
...
]
}
, , d2 d3, startObj, x 3, z 7, .
, , :
db.foo.update({object : startingObj}, {$push : {history : {date : new Date(), removeField : "x"}}})