DocumentDB SQL - Tạo mảng
Trong DocumentDB SQL, Microsoft đã thêm một tính năng chính với sự trợ giúp của chúng ta có thể dễ dàng tạo một mảng. Nó có nghĩa là khi chúng ta chạy một truy vấn, thì kết quả là nó sẽ tạo một mảng tập hợp tương tự như đối tượng JSON do kết quả của truy vấn.
Chúng ta hãy xem xét các tài liệu tương tự như trong các ví dụ trước.
Sau đây là AndersenFamily tài liệu.
{
"id": "AndersenFamily",
"lastName": "Andersen",
"parents": [
{ "firstName": "Thomas", "relationship": "father" },
{ "firstName": "Mary Kay", "relationship": "mother" }
],
"children": [
{
"firstName": "Henriette Thaulow",
"gender": "female",
"grade": 5,
"pets": [ { "givenName": "Fluffy", "type": "Rabbit" } ]
}
],
"location": { "state": "WA", "county": "King", "city": "Seattle" },
"isRegistered": true
}
Sau đây là SmithFamily tài liệu.
{
"id": "SmithFamily",
"parents": [
{ "familyName": "Smith", "givenName": "James" },
{ "familyName": "Curtis", "givenName": "Helen" }
],
"children": [
{
"givenName": "Michelle",
"gender": "female",
"grade": 1
},
{
"givenName": "John",
"gender": "male",
"grade": 7,
"pets": [
{ "givenName": "Tweetie", "type": "Bird" }
]
}
],
"location": {
"state": "NY",
"county": "Queens",
"city": "Forest Hills"
},
"isRegistered": true
}
Sau đây là WakefieldFamily tài liệu.
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 6,
"pets": [
{ "givenName": "Charlie Brown", "type": "Dog" },
{ "givenName": "Tiger", "type": "Cat" },
{ "givenName": "Princess", "type": "Cat" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 3,
"pets": [
{ "givenName": "Jake", "type": "Snake" }
]
}
],
"location": { "state": "NY", "county": "Manhattan", "city": "NY" },
"isRegistered": false
}
Hãy xem một ví dụ.
Sau đây là câu truy vấn sẽ trả về họ và địa chỉ của mỗi họ.
SELECT f.id AS FamilyName,
[f.location.city, f.location.county, f.location.state] AS Address
FROM Families f
Có thể thấy các trường thành phố, quận và tiểu bang được đặt trong dấu ngoặc vuông, sẽ tạo ra một mảng và mảng này có tên là Địa chỉ. Khi truy vấn trên được thực thi, nó tạo ra kết quả sau.
[
{
"FamilyName": "WakefieldFamily",
"Address": [
"NY",
"Manhattan",
"NY"
]
},
{
"FamilyName": "SmithFamily",
"Address": [
"Forest Hills",
"Queens",
"NY"
]
},
{
"FamilyName": "AndersenFamily",
"Address": [
"Seattle",
"King",
"WA"
]
}
]
Thông tin thành phố, quận và tiểu bang được thêm vào mảng Địa chỉ ở đầu ra ở trên.