ObjectToArray (استعلام NoSQL)
ينطبق على: NoSQL
تحويل كل زوج حقل/قيمة في كائن JSON إلى عنصر ثم إرجاع مجموعة العناصر كصفيف JSON. بشكل افتراضي، تحتوي عناصر الصفيف على حقل جديد k
لاسم الحقل الأصلي وحقل جديد v
لقيمة الحقل الأصلي. يمكن تخصيص أسماء الحقول الجديدة هذه بشكل أكبر.
بناء الجملة
ObjectToArray(<object_expr> [, <string_expr_1>, <string_expr_2>])
الوسيطات
الوصف | |
---|---|
object_expr |
تعبير عنصر مع خصائص في أزواج الحقل/القيمة. |
string_expr_1 (اختياري) |
تعبير سلسلة باسم للحقل الذي يمثل جزء الحقل من زوج الحقل/القيمة الأصلي. |
string_expr_2 (اختياري) |
تعبير سلسلة باسم للحقل الذي يمثل جزء القيمة من زوج الحقل/القيمة الأصلي. |
أنواع الإعادة
صفيف من العناصر مع حقلين، إما k
وحقول v
مسماة خصيصا.
الأمثلة
يوضح هذا المثال تحويل كائن ثابت إلى صفيف من أزواج الحقول/القيم باستخدام المعرفات والإعدادات v
الافتراضيةk
.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
})
[
[
{
"k": "a",
"v": "12345"
},
{
"k": "b",
"v": "67890"
}
]
]
في هذا المثال، يتم تحديث اسم الحقل لاستخدام name
المعرف.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "name")
[
[
{
"name": "a",
"v": "12345"
},
{
"name": "b",
"v": "67890"
}
]
]
في هذا المثال، يتم تحديث اسم القيمة لاستخدام value
المعرف ويستخدم key
اسم الحقل المعرف.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "key", "value")
[
[
{
"key": "a",
"value": "12345"
},
{
"key": "b",
"value": "67890"
}
]
]
يستخدم هذا المثال النهائي عنصرا داخل حاوية موجودة تخزن البيانات باستخدام الحقول داخل كائن JSON.
[
{
"name": "Witalica helmet",
"category": "sport-helmets",
"quantities": {
"small": 15,
"medium": 24,
"large": 2,
"xlarge": 0
}
}
]
في هذا المثال، يتم استخدام الدالة لتقسيم الكائن إلى عنصر صفيف لكل زوج حقل/قيمة.
SELECT
p.name,
ObjectToArray(p.quantities, "size", "quantity") AS quantitiesBySize
FROM
products p
WHERE
p.category = "sport-helmets"
[
{
"name": "Witalica helmet",
"quantitiesBySize": [
{
"size": "small",
"quantity": 15
},
{
"size": "medium",
"quantity": 24
},
{
"size": "large",
"quantity": 2
},
{
"size": "xlarge",
"quantity": 0
}
]
}
]
الملاحظات
- إذا لم تكن قيمة الإدخال كائنا صالحا، فإن النتيجة هي
undefined
.