我在 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})
了,但很明显,它返回了 actions 数组的所有元素。
NoSQL 对我来说很新。以前,我会将所有这些存储在关系数据库中的两个表中,然后执行类似SELECT id, (SELECT type FROM action WHERE document_id = d.id ORDER BY seq LIMIT 1) action_type FROM document d
.