Hướng dẫn how do i use findandmodify in mongodb? - làm cách nào để sử dụng findandmodify trong mongodb?

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

db.collection.findAndModify(document)
Hướng dẫn how do i use findandmodify in mongodb? - làm cách nào để sử dụng findandmodify trong mongodb?

Quan trọng

Phương pháp Mongosh

Trang này ghi lại một phương thức mongosh. Đây không phải là tài liệu cho các lệnh cơ sở dữ liệu hoặc trình điều khiển dành riêng cho ngôn ngữ, chẳng hạn như Node.js. Để sử dụng lệnh cơ sở dữ liệu, hãy xem lệnh findAndModify.mongosh method. This is not the documentation for database commands or language-specific drivers, such as Node.js. To use the database command, see the findAndModify command.

Đối với trình điều khiển API MongoDB, hãy tham khảo tài liệu trình điều khiển MongoDB dành riêng cho ngôn ngữ.MongoDB driver documentation.

Đối với tài liệu Shell Legacy mongo, hãy tham khảo tài liệu để phát hành máy chủ MongoDB tương ứng:

  • Mongo Shell v4.4

  • Mongo Shell v4.2

Sửa đổi và trả về một tài liệu duy nhất. Theo mặc định, tài liệu được trả lại không bao gồm các sửa đổi được thực hiện trên bản cập nhật. Để trả về tài liệu với các sửa đổi được thực hiện trên bản cập nhật, hãy sử dụng tùy chọn new.

Đã thay đổi trong phiên bản 5.0.

Phương thức

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
0 có dạng sau:
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
0
method has the following form:

db.collection.findAndModify({
query: <document>,
sort: <document>,
remove: <boolean>,
update: <document or aggregation pipeline>, // Changed in MongoDB 4.2
new: <boolean>,
fields: <document>,
upsert: <boolean>,
bypassDocumentValidation: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ],
let: <document> // Added in MongoDB 5.0
});

Phương thức

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 có tham số tài liệu với các trường tài liệu được nhúng sau:
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1
method takes a document parameter with the following embedded document fields:

Tham số

Loại hình

Sự mô tả

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
2

tài liệu

Không bắt buộc. Các tiêu chí lựa chọn cho việc sửa đổi. Trường

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
2 sử dụng các bộ chọn truy vấn tương tự như được sử dụng trong phương thức
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
4. Mặc dù truy vấn có thể khớp với nhiều tài liệu,
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sẽ chỉ chọn một tài liệu để sửa đổi.
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1
will only select one document to modify.

Nếu không xác định, mặc định là một tài liệu trống.

Bắt đầu từ MongoDB 4.2 (và 4.0.12+, 3.6.14+ và 3.4.23+), các lỗi hoạt động nếu đối số truy vấn không phải là tài liệu.

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
6

tài liệu

Không bắt buộc. Các tiêu chí lựa chọn cho việc sửa đổi. Trường

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
2 sử dụng các bộ chọn truy vấn tương tự như được sử dụng trong phương thức
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
4. Mặc dù truy vấn có thể khớp với nhiều tài liệu,
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sẽ chỉ chọn một tài liệu để sửa đổi.
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1
modifies the first document in the sort order specified by this argument.

Nếu không xác định, mặc định là một tài liệu trống.

Bắt đầu từ MongoDB 4.2 (và 4.0.12+, 3.6.14+ và 3.4.23+), các lỗi hoạt động nếu đối số truy vấn không phải là tài liệu.

Không bắt buộc. Xác định tài liệu nào hoạt động sửa đổi nếu truy vấn chọn nhiều tài liệu.

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sửa đổi tài liệu đầu tiên theo thứ tự sắp xếp được chỉ định bởi đối số này.

Bắt đầu từ MongoDB 4.2 (và 4.0.12+, 3.6.14+ và 3.4.23+), các lỗi hoạt động nếu đối số sắp xếp không phải là tài liệu.

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
9

boolean

MongoDB không lưu trữ tài liệu trong một bộ sưu tập theo một thứ tự cụ thể. Khi sắp xếp trên một trường chứa các giá trị trùng lặp, các tài liệu chứa các giá trị đó có thể được trả về theo bất kỳ thứ tự nào.

// INVALID
[
{ "x.a": { $gt: 85 } },
{ "x.b": { $gt: 80 } }
]
1

Nếu thứ tự sắp xếp nhất quán được mong muốn, bao gồm ít nhất một trường theo loại của bạn có chứa các giá trị duy nhất. Cách dễ nhất để đảm bảo điều này là bao gồm trường

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
8 trong truy vấn sắp xếp của bạn.

Xem Sắp xếp tính nhất quán để biết thêm thông tin.

  • Phải chỉ định trường

    collation: {
    locale: <string>,
    caseLevel: <boolean>,
    caseFirst: <string>,
    strength: <int>,
    numericOrdering: <boolean>,
    alternate: <string>,
    maxVariable: <string>,
    backwards: <boolean>
    }
    9 hoặc
    // INVALID
    [
    { "x.a": { $gt: 85 } },
    { "x.b": { $gt: 80 } }
    ]
    1. Xóa tài liệu được chỉ định trong trường
    collation: {
    locale: <string>,
    caseLevel: <boolean>,
    caseFirst: <string>,
    strength: <int>,
    numericOrdering: <boolean>,
    alternate: <string>,
    maxVariable: <string>,
    backwards: <boolean>
    }
    2. Đặt cái này thành
    // INVALID
    [
    { "x.a": { $gt: 85 } },
    { "x.b": { $gt: 80 } }
    ]
    3 để xóa tài liệu đã chọn. Mặc định là
    // INVALID
    [
    { "x.a": { $gt: 85 } },
    { "x.b": { $gt: 80 } }
    ]
    4.
    collation: {
    locale: <string>,
    caseLevel: <boolean>,
    caseFirst: <string>,
    strength: <int>,
    numericOrdering: <boolean>,
    alternate: <string>,
    maxVariable: <string>,
    backwards: <boolean>
    }
    1
    performs the specified modification.

  • tài liệu hoặc mảng

    collation: {
    locale: <string>,
    caseLevel: <boolean>,
    caseFirst: <string>,
    strength: <int>,
    numericOrdering: <boolean>,
    alternate: <string>,
    maxVariable: <string>,
    backwards: <boolean>
    }
    1 performs a replacement.

  • Phải chỉ định trường

    collation: {
    locale: <string>,
    caseLevel: <boolean>,
    caseFirst: <string>,
    strength: <int>,
    numericOrdering: <boolean>,
    alternate: <string>,
    maxVariable: <string>,
    backwards: <boolean>
    }
    9 hoặc
    // INVALID
    [
    { "x.a": { $gt: 85 } },
    { "x.b": { $gt: 80 } }
    ]
    1. Thực hiện cập nhật tài liệu đã chọn.
    collation: {
    locale: <string>,
    caseLevel: <boolean>,
    caseFirst: <string>,
    strength: <int>,
    numericOrdering: <boolean>,
    alternate: <string>,
    maxVariable: <string>,
    backwards: <boolean>
    }
    1
    modifies the document per the pipeline. The pipeline can consist of the following stages:

    • Nếu được thông qua một tài liệu với các biểu thức toán tử cập nhật,

      collation: {
      locale: <string>,
      caseLevel: <boolean>,
      caseFirst: <string>,
      strength: <int>,
      numericOrdering: <boolean>,
      alternate: <string>,
      maxVariable: <string>,
      backwards: <boolean>
      }
      1 sẽ thực hiện sửa đổi được chỉ định.

    • Nếu thông qua một tài liệu thay thế

      // INVALID
      [
      { "x.a": { $gt: 85 } },
      { "x.b": { $gt: 80 } }
      ]
      9,
      collation: {
      locale: <string>,
      caseLevel: <boolean>,
      caseFirst: <string>,
      strength: <int>,
      numericOrdering: <boolean>,
      alternate: <string>,
      maxVariable: <string>,
      backwards: <boolean>
      }
      1 sẽ thực hiện thay thế.

    • Bắt đầu từ MongoDB 4.2, nếu được thông qua một đường ống tổng hợp

      // Example 1
      [
      { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
      ]
      // Example 2
      [
      { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
      ]
      // Example 3
      [
      { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } }
      ]
      1,
      collation: {
      locale: <string>,
      caseLevel: <boolean>,
      caseFirst: <string>,
      strength: <int>,
      numericOrdering: <boolean>,
      alternate: <string>,
      maxVariable: <string>,
      backwards: <boolean>
      }
      1 sửa đổi tài liệu trên mỗi đường ống. Đường ống có thể bao gồm các giai đoạn sau:

new

boolean

// Example 1
[
{ $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
]
// Example 2
[
{ $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
]
// Example 3
[
{ "x.a": { $gt: 85 }, "x.b": { $gt: 80 } }
]
3 và bí danh của nó
// Example 1
[
{ $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
]
// Example 2
[
{ $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
]
// Example 3
[
{ "x.a": { $gt: 85 }, "x.b": { $gt: 80 } }
]
4
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1
method ignores the new option for
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
9 operations. The default is
// INVALID
[
{ "x.a": { $gt: 85 } },
{ "x.b": { $gt: 80 } }
]
4.

{ <variable_name_1>: <expression_1>,
...,
<variable_name_n>: <expression_n> }
5

tài liệu

Không bắt buộc. Các tiêu chí lựa chọn cho việc sửa đổi. Trường

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
2 sử dụng các bộ chọn truy vấn tương tự như được sử dụng trong phương thức
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
4. Mặc dù truy vấn có thể khớp với nhiều tài liệu,
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sẽ chỉ chọn một tài liệu để sửa đổi.

Nếu không xác định, mặc định là một tài liệu trống.

Bắt đầu từ MongoDB 4.2 (và 4.0.12+, 3.6.14+ và 3.4.23+), các lỗi hoạt động nếu đối số truy vấn không phải là tài liệu.

{ <variable_name_1>: <expression_1>,
...,
<variable_name_n>: <expression_n> }
5 Projection.

db.collection.findAndModify(document)0

boolean

Không bắt buộc. Xác định tài liệu nào hoạt động sửa đổi nếu truy vấn chọn nhiều tài liệu.

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sửa đổi tài liệu đầu tiên theo thứ tự sắp xếp được chỉ định bởi đối số này.

Bắt đầu từ MongoDB 4.2 (và 4.0.12+, 3.6.14+ và 3.4.23+), các lỗi hoạt động nếu đối số sắp xếp không phải là tài liệu.

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
0 either:

  • MongoDB không lưu trữ tài liệu trong một bộ sưu tập theo một thứ tự cụ thể. Khi sắp xếp trên một trường chứa các giá trị trùng lặp, các tài liệu chứa các giá trị đó có thể được trả về theo bất kỳ thứ tự nào.

  • Nếu thứ tự sắp xếp nhất quán được mong muốn, bao gồm ít nhất một trường theo loại của bạn có chứa các giá trị duy nhất. Cách dễ nhất để đảm bảo điều này là bao gồm trường

    collation: {
    locale: <string>,
    caseLevel: <boolean>,
    caseFirst: <string>,
    strength: <int>,
    numericOrdering: <boolean>,
    alternate: <string>,
    maxVariable: <string>,
    backwards: <boolean>
    }
    8 trong truy vấn sắp xếp của bạn.

Xem Sắp xếp tính nhất quán để biết thêm thông tin.Upsert with Unique Index for an example.

Phải chỉ định trường

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
9 hoặc
// INVALID
[
{ "x.a": { $gt: 85 } },
{ "x.b": { $gt: 80 } }
]
1. Xóa tài liệu được chỉ định trong trường
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
2. Đặt cái này thành
// INVALID
[
{ "x.a": { $gt: 85 } },
{ "x.b": { $gt: 80 } }
]
3 để xóa tài liệu đã chọn. Mặc định là
// INVALID
[
{ "x.a": { $gt: 85 } },
{ "x.b": { $gt: 80 } }
]
4.

db.collection.findAndModify(document)8

boolean

tài liệu hoặc mảng

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 to bypass document validation during the operation. This lets you update documents that do not meet the validation requirements.

mongosh0

tài liệu

Không bắt buộc. Các tiêu chí lựa chọn cho việc sửa đổi. Trường

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
2 sử dụng các bộ chọn truy vấn tương tự như được sử dụng trong phương thức
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
4. Mặc dù truy vấn có thể khớp với nhiều tài liệu,
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sẽ chỉ chọn một tài liệu để sửa đổi.

Nếu không xác định, mặc định là một tài liệu trống.

mongosh1

Bắt đầu từ MongoDB 4.2 (và 4.0.12+, 3.6.14+ và 3.4.23+), các lỗi hoạt động nếu đối số truy vấn không phải là tài liệu.

Không bắt buộc. Xác định tài liệu nào hoạt động sửa đổi nếu truy vấn chọn nhiều tài liệu.

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sửa đổi tài liệu đầu tiên theo thứ tự sắp xếp được chỉ định bởi đối số này.

mongosh2

tài liệu

Optional.

Không bắt buộc. Các tiêu chí lựa chọn cho việc sửa đổi. Trường

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
2 sử dụng các bộ chọn truy vấn tương tự như được sử dụng trong phương thức
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
4. Mặc dù truy vấn có thể khớp với nhiều tài liệu,
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
1 sẽ chỉ chọn một tài liệu để sửa đổi.

Đối chiếu cho phép người dùng chỉ định các quy tắc cụ thể về ngôn ngữ để so sánh chuỗi, chẳng hạn như các quy tắc cho Lettercase và Dấu nhấn.

Tùy chọn đối chiếu có cú pháp sau:

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

Khi chỉ định đối chiếu, trường mongosh3 là bắt buộc; Tất cả các trường đối chiếu khác là tùy chọn. Để biết mô tả của các trường, xem tài liệu đối chiếu.

Nếu đối chiếu không được xác định nhưng bộ sưu tập có một đối chiếu mặc định (xem mongosh4), thao tác sử dụng đối chiếu được chỉ định cho bộ sưu tập.

Nếu không có đối chiếu được chỉ định cho bộ sưu tập hoặc cho các hoạt động, MongoDB sử dụng so sánh nhị phân đơn giản được sử dụng trong các phiên bản trước để so sánh chuỗi.

Bạn không thể chỉ định nhiều đối chiếu cho một hoạt động. Ví dụ: bạn không thể chỉ định các đối chiếu khác nhau trên mỗi trường hoặc nếu thực hiện tìm thấy với một loại, bạn không thể sử dụng một đối chiếu cho tìm và một đối với loại khác.

mongosh5

mảng

Không bắt buộc. Một mảng các tài liệu bộ lọc xác định các phần tử mảng nào để sửa đổi cho hoạt động cập nhật trên trường mảng.

Trong tài liệu cập nhật, hãy sử dụng toán tử vị trí được lọc mongosh6 để xác định mã định danh, sau đó bạn tham khảo trong các tài liệu bộ lọc mảng. Bạn không thể có một tài liệu bộ lọc mảng cho một mã định danh nếu số nhận dạng không được bao gồm trong tài liệu cập nhật.

Ghi chú

mongosh7 phải bắt đầu bằng chữ thường và chỉ chứa các ký tự chữ và số.

Bạn có thể bao gồm cùng một định danh nhiều lần trong tài liệu cập nhật; Tuy nhiên, đối với mỗi định danh riêng biệt (mongosh8) trong tài liệu cập nhật, bạn phải chỉ định chính xác một tài liệu bộ lọc mảng tương ứng. Đó là, bạn không thể chỉ định nhiều tài liệu bộ lọc mảng cho cùng một định danh. Ví dụ: nếu câu lệnh Update bao gồm Mã định danh mongosh9 (có thể nhiều lần), bạn không thể chỉ định các mục sau cho mongosh5 bao gồm 2 tài liệu bộ lọc riêng biệt cho mongosh9:exactly one corresponding array filter document. That is, you cannot specify multiple array filter documents for the same identifier. For example, if the update statement includes the identifier mongosh9 (possibly multiple times), you cannot specify the following for mongosh5 that includes 2 separate filter documents for mongosh9:

// INVALID
[
{ "x.a": { $gt: 85 } },
{ "x.b": { $gt: 80 } }
]

Tuy nhiên, bạn có thể chỉ định các điều kiện hợp chất trên cùng một định danh trong một tài liệu bộ lọc duy nhất, chẳng hạn như trong các ví dụ sau:

// Example 1
[
{ $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
]
// Example 2
[
{ $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] }
]
// Example 3
[
{ "x.a": { $gt: 85 }, "x.b": { $gt: 80 } }
]

Để biết ví dụ, xem Chỉ định mongosh5 để biết các hoạt động cập nhật mảng.Specify mongosh5 for an Array Update Operations.

Ghi chú

mongosh7 phải bắt đầu bằng chữ thường và chỉ chứa các ký tự chữ và số.

let

Bạn có thể bao gồm cùng một định danh nhiều lần trong tài liệu cập nhật; Tuy nhiên, đối với mỗi định danh riêng biệt (mongosh8) trong tài liệu cập nhật, bạn phải chỉ định chính xác một tài liệu bộ lọc mảng tương ứng. Đó là, bạn không thể chỉ định nhiều tài liệu bộ lọc mảng cho cùng một định danh. Ví dụ: nếu câu lệnh Update bao gồm Mã định danh mongosh9 (có thể nhiều lần), bạn không thể chỉ định các mục sau cho mongosh5 bao gồm 2 tài liệu bộ lọc riêng biệt cho mongosh9:

Optional.

Tuy nhiên, bạn có thể chỉ định các điều kiện hợp chất trên cùng một định danh trong một tài liệu bộ lọc duy nhất, chẳng hạn như trong các ví dụ sau:

Để biết ví dụ, xem Chỉ định mongosh5 để biết các hoạt động cập nhật mảng.

{ <variable_name_1>: <expression_1>,
...,
<variable_name_n>: <expression_n> }

mongosh5 không có sẵn để cập nhật sử dụng đường ống tổng hợp.

tài liệu

Ghi chú

mongosh7 phải bắt đầu bằng chữ thường và chỉ chứa các ký tự chữ và số.

Bạn có thể bao gồm cùng một định danh nhiều lần trong tài liệu cập nhật; Tuy nhiên, đối với mỗi định danh riêng biệt (mongosh8) trong tài liệu cập nhật, bạn phải chỉ định chính xác một tài liệu bộ lọc mảng tương ứng. Đó là, bạn không thể chỉ định nhiều tài liệu bộ lọc mảng cho cùng một định danh. Ví dụ: nếu câu lệnh Update bao gồm Mã định danh mongosh9 (có thể nhiều lần), bạn không thể chỉ định các mục sau cho mongosh5 bao gồm 2 tài liệu bộ lọc riêng biệt cho mongosh9:Use Variables in findAndModify8

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

Làm thế nào để findandmodify hoạt động trong MongoDB?

Phương thức MongoDB findAndModify () sửa đổi và trả về một tài liệu duy nhất dựa trên các tiêu chí lựa chọn được nhập. Tài liệu được trả về không hiển thị nội dung được cập nhật theo mặc định. Nếu các bản ghi khớp với các tiêu chí không tồn tại trong cơ sở dữ liệu, một bản ghi mới sẽ được chèn nếu UPSERT được đặt thành True.modifies and returns a single document based upon the selection criteria entered. The returned document does not show the updated content by default. If the records matching the criteria does not exist in the database, a new record will be inserted if the upsert is set to true.

FindAndModify trở lại là gì?

Trả về dữ liệu cho các hoạt động xóa, nếu truy vấn khớp với một tài liệu, FindAndModify () trả về tài liệu bị xóa. Nếu truy vấn không khớp với một tài liệu để xóa, findandModify () trả về null.if the query matches a document, findAndModify() returns the removed document. If the query does not match a document to remove, findAndModify() returns null .

Có bao nhiêu loại tài liệu FindandModify có thể cập nhật?

tìm () phương thức.Mặc dù truy vấn có thể khớp với nhiều tài liệu, FindAndModify sẽ chỉ chọn một tài liệu để sửa đổi.multiple documents, findAndModify will only select one document to modify.

Làm cách nào để cập nhật nhiều tệp trong MongoDB?

Bạn có thể cập nhật nhiều tài liệu bằng phương thức Collection.upDatemany ().Phương thức UpdateMany () chấp nhận tài liệu bộ lọc và tài liệu cập nhật.Nếu truy vấn khớp với các tài liệu trong bộ sưu tập, phương thức áp dụng các bản cập nhật từ tài liệu cập nhật lên các trường và giá trị của các tài liệu phù hợp.using the collection. updateMany() method. The updateMany() method accepts a filter document and an update document. If the query matches documents in the collection, the method applies the updates from the update document to fields and values of the matching documents.