MongoDB に次のデータがあります (質問に必要なものを簡略化しています)。
{
_id: 0,
actions: [
{
type: "insert",
data: "abc, quite possibly very very large"
}
]
}
{
_id: 1,
actions: [
{
type: "update",
data: "def"
},{
type: "delete",
data: "ghi"
}
]
}
私が望むのは、各ドキュメントの最初のアクション タイプを見つけることです。
{_id:0, first_action_type:"insert"}
{_id:1, first_action_type:"update"}
(データの構造が異なっていても問題ありませんが、何らかの形でそれらの値が存在する必要があります。)
編集:私は試しましdb.collection.find({}, {'actions.action_type':1})
たが、明らかにアクション配列のすべての要素を返します。
NoSQL は私にとってまったく新しいものです。以前は、これらすべてをリレーショナル データベースの 2 つのテーブルに格納し、SELECT id, (SELECT type FROM action WHERE document_id = d.id ORDER BY seq LIMIT 1) action_type FROM document d
.