この投稿で説明されているように、(ドキュメント間の差異の保存に基づいて)バージョン管理をMongoDBに実装しようとしています:MongoDBでデータのバージョン管理を実装する方法。
これまで同じアプローチを使用していますが、「Date1とDate2の間のすべての変更を教えてください」のようなクエリを作成したいと思います。投稿に示されているスキーマは、この種のクエリを許可しない変更のキーとして、単純な増分番号を使用しています。
{
_id : "id of address book record",
changes : {
1234567 : { "city" : "Omaha", "state" : "Nebraska" },
1234568 : { "city" : "Kansas City", "state" : "Missouri" }
}
}
私の唯一の推測は、時間ベースのクエリを作成するには、キー値に時間情報を含める必要があるということです。おそらく、次のようなObjectIdまたはISODateです。
{
_id : "id of address book record",
changes : {
ISODate(Date) : { "city" : "Omaha", "state" : "Nebraska" },
ObjectId(id) : { "city" : "Kansas City", "state" : "Missouri" }
}
}
私は解決策をかなり長い間グーグルで検索しましたが、本当に役立つものは何も見つかりませんでした。誰かがこれを行う方法についてアイデアを持っているなら、あなたが私を助けてくれるならそれは素晴らしいことです。これは問題に取り組むための完全に間違った方法であり、この問題を解決するためのより良い方法があるかもしれません...私はどんな提案にもオープンです!
私を助けてくれてありがとう...