私は以下のデータをMongoDBに持っています(私の質問に必要なものを簡略化しています)。配列の最初の要素のプロパティを検索する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
のようなものを作成しました。
''コレクション[ .findメソッド ' –
これらのドキュメントは大きいです...私は私が必要なものだけを得るのを助けるために投影や何かを使用しています。 –
インデックスを追加することができます –