适用对象:
MongoDB vCore
$objectToArray
运算符用于将文档(对象)转换为键值对数组。 生成的数组中的每个键值对都表示为具有 k
和 v
字段的文档。 当需要操作或分析集合中的文档结构时,此运算符非常有用。
{ $objectToArray: <object> }
-
<object>
:要转换为键值对数组的文档(对象)。
给定一个代表商店的示例 JSON 文档,我们可以使用 $objectToArray
运算符来转换此文档的各个部分。
以下聚合管道将 location
对象转换为键值对数组。
db.stores.aggregate([
{
$project: {
locationArray: { $objectToArray: "$store.location" }
}
}
])
此示例演示了如何将 staff.totalStaff
对象转换为键值对数组。
db.stores.aggregate([
{
$project: {
totalStaffArray: { $objectToArray: "$store.staff.totalStaff" }
}
}
])
如果要转换 salesByCategory
数组,则首先需要展开该数组,然后应用 $objectToArray
运算符。
db.stores.aggregate([
{ $unwind: "$store.sales.salesByCategory" },
{
$project: {
salesByCategoryArray: { $objectToArray: "$store.sales.salesByCategory" }
}
}
])