Hướng dẫn mongodb aggregate add to array - tổng hợp mongodb thêm vào mảng

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

$push$push Trả về một mảng tất cả các giá trị xuất phát từ việc áp dụng một biểu thức cho các tài liệu.
Hướng dẫn mongodb aggregate add to array - tổng hợp mongodb thêm vào mảng

$push returns an array of all values that result from applying an expression to documents.

$push có sẵn trong các giai đoạn này: is available in these stages:

  • $bucket

  • db.sales.aggregate(
    [
    { $sort: { date: 1, item: 1 } },
    {
    $group:
    {
    _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
    itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
    }
    }
    ]
    )
    0

  • db.sales.aggregate(
    [
    { $sort: { date: 1, item: 1 } },
    {
    $group:
    {
    _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
    itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
    }
    }
    ]
    )
    1

  • db.sales.aggregate(
    [
    { $sort: { date: 1, item: 1 } },
    {
    $group:
    {
    _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
    itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
    }
    }
    ]
    )
    2 (có sẵn bắt đầu từ MongoDB 5.0)

$push Cú pháp: syntax:

Để biết thêm thông tin về biểu thức, xem biểu thức.

Xem xét bộ sưu tập

db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
4 với các tài liệu sau:

{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate("2014-01-01T08:00:00Z") }
{ "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate("2014-02-03T09:00:00Z") }
{ "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate("2014-02-03T09:05:00Z") }
{ "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate("2014-02-15T08:00:00Z") }
{ "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate("2014-02-15T09:05:00Z") }
{ "_id" : 6, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate("2014-02-15T12:05:10Z") }
{ "_id" : 7, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate("2014-02-15T14:12:12Z") }

Nhóm các tài liệu vào ngày và năm của trường

db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
5, hoạt động sau đây sử dụng bộ tích lũy $push để tính toán danh sách các mục và số lượng được bán cho mỗi nhóm:$push accumulator to compute the list of items and quantities sold for each group:

db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)

Hoạt động trả về các kết quả sau:

{
"_id" : { "day" : 46, "year" : 2014 },
"itemsSold" : [
{ "item" : "abc", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 5 },
{ "item" : "xyz", "quantity" : 10 }
]
}
{
"_id" : { "day" : 34, "year" : 2014 },
"itemsSold" : [
{ "item" : "jkl", "quantity" : 1 },
{ "item" : "xyz", "quantity" : 5 }
]
}
{
"_id" : { "day" : 1, "year" : 2014 },
"itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
}

Mới trong phiên bản 5.0.

Tạo một bộ sưu tập

db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
7 có chứa doanh số bán bánh ở các bang California (
db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
8) và Washington (
db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
9):

db.cakeSales.insertMany( [
{ _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
state: "CA", price: 13, quantity: 120 },
{ _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
state: "WA", price: 14, quantity: 140 },
{ _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
state: "CA", price: 12, quantity: 145 },
{ _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
state: "WA", price: 13, quantity: 104 },
{ _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
state: "CA", price: 41, quantity: 162 },
{ _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
state: "WA", price: 43, quantity: 134 }
] )

Ví dụ này sử dụng $push trong giai đoạn

db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
2 để xuất ra một loạt các giá trị bán bánh
{
"_id" : { "day" : 46, "year" : 2014 },
"itemsSold" : [
{ "item" : "abc", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 5 },
{ "item" : "xyz", "quantity" : 10 }
]
}
{
"_id" : { "day" : 34, "year" : 2014 },
"itemsSold" : [
{ "item" : "jkl", "quantity" : 1 },
{ "item" : "xyz", "quantity" : 5 }
]
}
{
"_id" : { "day" : 1, "year" : 2014 },
"itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
}
2 cho mỗi
{
"_id" : { "day" : 46, "year" : 2014 },
"itemsSold" : [
{ "item" : "abc", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 5 },
{ "item" : "xyz", "quantity" : 10 }
]
}
{
"_id" : { "day" : 34, "year" : 2014 },
"itemsSold" : [
{ "item" : "jkl", "quantity" : 1 },
{ "item" : "xyz", "quantity" : 5 }
]
}
{
"_id" : { "day" : 1, "year" : 2014 },
"itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
}
3:$push in the
db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
2 stage to output an array of cake sales
{
"_id" : { "day" : 46, "year" : 2014 },
"itemsSold" : [
{ "item" : "abc", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 5 },
{ "item" : "xyz", "quantity" : 10 }
]
}
{
"_id" : { "day" : 34, "year" : 2014 },
"itemsSold" : [
{ "item" : "jkl", "quantity" : 1 },
{ "item" : "xyz", "quantity" : 5 }
]
}
{
"_id" : { "day" : 1, "year" : 2014 },
"itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
}
2 values for each
{
"_id" : { "day" : 46, "year" : 2014 },
"itemsSold" : [
{ "item" : "abc", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 5 },
{ "item" : "xyz", "quantity" : 10 }
]
}
{
"_id" : { "day" : 34, "year" : 2014 },
"itemsSold" : [
{ "item" : "jkl", "quantity" : 1 },
{ "item" : "xyz", "quantity" : 5 }
]
}
{
"_id" : { "day" : 1, "year" : 2014 },
"itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
}
3:

db.cakeSales.aggregate( [
{
$setWindowFields: {
partitionBy: "$state",
sortBy: { orderDate: 1 },
output: {
quantitiesForState: {
$push: "$quantity",
window: {
documents: [ "unbounded", "current" ]
}
}
}
}
}
] )

Trong ví dụ:

  • {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    4 Phân vùng các tài liệu trong bộ sưu tập của
    {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    3. Có các phân vùng cho
    db.sales.aggregate(
    [
    { $sort: { date: 1, item: 1 } },
    {
    $group:
    {
    _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
    itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
    }
    }
    ]
    )
    8 và
    db.sales.aggregate(
    [
    { $sort: { date: 1, item: 1 } },
    {
    $group:
    {
    _id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
    itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
    }
    }
    ]
    )
    9.

  • {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    8 sắp xếp các tài liệu trong mỗi phân vùng theo
    {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    9 theo thứ tự tăng dần (
    db.cakeSales.insertMany( [
    { _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
    state: "CA", price: 13, quantity: 120 },
    { _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
    state: "WA", price: 14, quantity: 140 },
    { _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
    state: "CA", price: 12, quantity: 145 },
    { _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
    state: "WA", price: 13, quantity: 104 },
    { _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
    state: "CA", price: 41, quantity: 162 },
    { _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
    state: "WA", price: 43, quantity: 134 }
    ] )
    0), vì vậy
    {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    9 sớm nhất là đầu tiên.

  • db.cakeSales.insertMany( [
    { _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
    state: "CA", price: 13, quantity: 120 },
    { _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
    state: "WA", price: 14, quantity: 140 },
    { _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
    state: "CA", price: 12, quantity: 145 },
    { _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
    state: "WA", price: 13, quantity: 104 },
    { _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
    state: "CA", price: 41, quantity: 162 },
    { _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
    state: "WA", price: 43, quantity: 134 }
    ] )
    2 Đặt mảng của các giá trị
    {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    2 bằng cách sử dụng $push cho các tài liệu trong cửa sổ tài liệu.$push for the documents in a documents window.

    Cửa sổ chứa các tài liệu giữa giới hạn thấp hơn

    db.cakeSales.insertMany( [
    { _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
    state: "CA", price: 13, quantity: 120 },
    { _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
    state: "WA", price: 14, quantity: 140 },
    { _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
    state: "CA", price: 12, quantity: 145 },
    { _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
    state: "WA", price: 13, quantity: 104 },
    { _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
    state: "CA", price: 41, quantity: 162 },
    { _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
    state: "WA", price: 43, quantity: 134 }
    ] )
    5 và tài liệu
    db.cakeSales.insertMany( [
    { _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
    state: "CA", price: 13, quantity: 120 },
    { _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
    state: "WA", price: 14, quantity: 140 },
    { _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
    state: "CA", price: 12, quantity: 145 },
    { _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
    state: "WA", price: 13, quantity: 104 },
    { _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
    state: "CA", price: 41, quantity: 162 },
    { _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
    state: "WA", price: 43, quantity: 134 }
    ] )
    6 trong đầu ra. Điều này có nghĩa là $push nối các giá trị
    {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    2 vào mảng
    db.cakeSales.insertMany( [
    { _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
    state: "CA", price: 13, quantity: 120 },
    { _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
    state: "WA", price: 14, quantity: 140 },
    { _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
    state: "CA", price: 12, quantity: 145 },
    { _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
    state: "WA", price: 13, quantity: 104 },
    { _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
    state: "CA", price: 41, quantity: 162 },
    { _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
    state: "WA", price: 43, quantity: 134 }
    ] )
    9 cho các tài liệu giữa đầu phân vùng và tài liệu hiện tại.$push appends the
    {
    "_id" : { "day" : 46, "year" : 2014 },
    "itemsSold" : [
    { "item" : "abc", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 10 },
    { "item" : "xyz", "quantity" : 5 },
    { "item" : "xyz", "quantity" : 10 }
    ]
    }
    {
    "_id" : { "day" : 34, "year" : 2014 },
    "itemsSold" : [
    { "item" : "jkl", "quantity" : 1 },
    { "item" : "xyz", "quantity" : 5 }
    ]
    }
    {
    "_id" : { "day" : 1, "year" : 2014 },
    "itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
    }
    2 values to the
    db.cakeSales.insertMany( [
    { _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
    state: "CA", price: 13, quantity: 120 },
    { _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
    state: "WA", price: 14, quantity: 140 },
    { _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
    state: "CA", price: 12, quantity: 145 },
    { _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
    state: "WA", price: 13, quantity: 104 },
    { _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
    state: "CA", price: 41, quantity: 162 },
    { _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
    state: "WA", price: 43, quantity: 134 }
    ] )
    9 array for the documents between the beginning of the partition and the current document.

Trong đầu ra này, mảng của các giá trị

{
"_id" : { "day" : 46, "year" : 2014 },
"itemsSold" : [
{ "item" : "abc", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 10 },
{ "item" : "xyz", "quantity" : 5 },
{ "item" : "xyz", "quantity" : 10 }
]
}
{
"_id" : { "day" : 34, "year" : 2014 },
"itemsSold" : [
{ "item" : "jkl", "quantity" : 1 },
{ "item" : "xyz", "quantity" : 5 }
]
}
{
"_id" : { "day" : 1, "year" : 2014 },
"itemsSold" : [ { "item" : "abc", "quantity" : 2 } ]
}
2 cho
db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
8 và
db.sales.aggregate(
[
{ $sort: { date: 1, item: 1 } },
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
itemsSold: { $push: { item: "$item", quantity: "$quantity" } }
}
}
]
)
9 được hiển thị trong mảng
db.cakeSales.insertMany( [
{ _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"),
state: "CA", price: 13, quantity: 120 },
{ _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"),
state: "WA", price: 14, quantity: 140 },
{ _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"),
state: "CA", price: 12, quantity: 145 },
{ _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"),
state: "WA", price: 13, quantity: 104 },
{ _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"),
state: "CA", price: 41, quantity: 162 },
{ _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"),
state: "WA", price: 43, quantity: 134 }
] )
9:

{ "_id" : 4, "type" : "strawberry", "orderDate" : ISODate("2019-05-18T16:09:01Z"),
"state" : "CA", "price" : 41, "quantity" : 162, "quantitiesForState" : [ 162 ] }
{ "_id" : 0, "type" : "chocolate", "orderDate" : ISODate("2020-05-18T14:10:30Z"),
"state" : "CA", "price" : 13, "quantity" : 120, "quantitiesForState" : [ 162, 120 ] }
{ "_id" : 2, "type" : "vanilla", "orderDate" : ISODate("2021-01-11T06:31:15Z"),
"state" : "CA", "price" : 12, "quantity" : 145, "quantitiesForState" : [ 162, 120, 145 ] }
{ "_id" : 5, "type" : "strawberry", "orderDate" : ISODate("2019-01-08T06:12:03Z"),
"state" : "WA", "price" : 43, "quantity" : 134, "quantitiesForState" : [ 134 ] }
{ "_id" : 3, "type" : "vanilla", "orderDate" : ISODate("2020-02-08T13:13:23Z"),
"state" : "WA", "price" : 13, "quantity" : 104, "quantitiesForState" : [ 134, 104 ] }
{ "_id" : 1, "type" : "chocolate", "orderDate" : ISODate("2021-03-20T11:30:05Z"),
"state" : "WA", "price" : 14, "quantity" : 140, "quantitiesForState" : [ 134, 104, 140 ] }

MongoDB có tốt cho tập hợp không?

Cũng như nhiều hệ thống cơ sở dữ liệu khác, MongoDB cho phép bạn thực hiện nhiều hoạt động tổng hợp.Chúng cho phép bạn xử lý các bản ghi dữ liệu theo nhiều cách khác nhau, chẳng hạn như nhóm dữ liệu, sắp xếp dữ liệu theo một thứ tự cụ thể hoặc tái cấu trúc các tài liệu được trả về, cũng như lọc dữ liệu như người ta có thể với một truy vấn.MongoDB allows you to perform a variety of aggregation operations. These allow you to process data records in a variety of ways, such as grouping data, sorting data into a specific order, or restructuring returned documents, as well as filtering data as one might with a query.

Addtoset trong MongoDB là gì?

Toán tử $ addtoset thêm một giá trị vào một mảng trừ khi giá trị đã có mặt, trong trường hợp đó, $ Addtoset không làm gì với mảng đó.Toán tử $ addtoset có biểu mẫu: {$ addtoset: {:, ...}} để chỉ định một trong tài liệu nhúng hoặc trong một mảng, sử dụng ký hiệu dấu chấm.adds a value to an array unless the value is already present, in which case $addToSet does nothing to that array. The $addToSet operator has the form: { $addToSet: { : , ... } } To specify a in an embedded document or in an array, use dot notation.

$ Đầu tiên trong MongoDB là gì?

Điều này có nghĩa là $ trước tiên trả về loại đơn hàng đầu tiên cho các tài liệu giữa đầu phân vùng và tài liệu hiện tại.returns the first order type for the documents between the beginning of the partition and the current document.