Hướng dẫn divide mongodb - chia mongodb

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

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0Divides một số của một số khác và trả về kết quả. Chuyển các đối số cho
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0 trong một mảng.
Hướng dẫn divide mongodb - chia mongodb

Divides one number by another and returns the result. Pass the arguments to

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0 in an array.

Biểu thức

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0 có cú pháp sau:
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0
expression has the following syntax:

{ $divide: [ , ] }

Đối số đầu tiên là cổ tức và đối số thứ hai là ước số; tức là đối số đầu tiên được chia cho đối số thứ hai.

Các đối số có thể là bất kỳ biểu thức hợp lệ nào miễn là chúng giải quyết thành số. Để 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.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
3 với các tài liệu sau:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }

Tập hợp sau đây sử dụng biểu thức

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0 để chia trường
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
5 cho một
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
6 theo nghĩa đen để tính toán số ngày làm việc:
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0
expression to divide the
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
5 field by a literal
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
6 to compute the number of work days:

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)

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

{ "_id" : 1, "name" : "A", "workdays" : 10 }
{ "_id" : 2, "name" : "B", "workdays" : 5 }

Trong MongoDB, nhà điều hành đường ống tổng hợp

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0 chia một số cho một số khác và trả về kết quả.

Để sử dụng

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0, hãy truyền các số trong một mảng. Toán tử
db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0 sẽ chia số thứ nhất cho số thứ hai. Nói cách khác, số đầu tiên là cổ tức và số thứ hai là ước số.

Các đối số có thể là bất kỳ biểu thức hợp lệ nào miễn là chúng giải quyết thành số.

Thí dụ

Giả sử chúng ta có một bộ sưu tập gọi là

{ "_id" : 1, "name" : "A", "workdays" : 10 }
{ "_id" : 2, "name" : "B", "workdays" : 5 }
0 với tài liệu sau:

{ "_id" : 1, "a" : 1000, "b" : 2 }

Chúng ta có thể sử dụng toán tử

db.planning.aggregate(
[
{ $project: { name: 1, workdays: { $divide: [ "$hours", 8 ] } } }
]
)
0 trong một đường ống tổng hợp để chia một trong các số đó cho số khác.

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$a", "$b" ] } } 
         }
   ]
)

Result:

{ "a" : 1000, "b" : 2, "result" : 500 }

Nếu chúng ta muốn chia trường

{ "_id" : 1, "name" : "A", "workdays" : 10 }
{ "_id" : 2, "name" : "B", "workdays" : 5 }
2 cho trường
{ "_id" : 1, "name" : "A", "workdays" : 10 }
{ "_id" : 2, "name" : "B", "workdays" : 5 }
3, chúng ta sẽ cần phải trao đổi chúng xung quanh.

Example:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$b", "$a" ] } } 
         }
   ]
)

Result:

{ "a" : 1000, "b" : 2, "result" : 0.002 }

Số âm

Giả sử chúng tôi thêm tài liệu sau vào bộ sưu tập của chúng tôi:

{ "_id" : 2, "a" : 1000, "b" : -2 }

Điều này bao gồm một số âm. Nhưng đó không phải là vấn đề, bởi vì một số âm vẫn là một số và chúng tôi chắc chắn có thể chia bất kỳ số nào cho một số âm.

Example:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$a", "$b" ] } } 
         }
   ]
)

Result:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
1

Ở đây nó được chuyển đổi, để chúng tôi chia số âm cho một số dương:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$b", "$a" ] } } 
         }
   ]
)

Result:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
3

Thêm số của riêng bạn

Bạn không nhất thiết phải giới hạn trong các số trong tài liệu/s. Bạn có thể sử dụng số của riêng bạn nếu bạn cần chia một trường cho một số tiền cố định.

Example:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
4

Result:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
5

Toán tử $ chia trong MongoDB là gì?

MongoDB cung cấp một loạt các toán tử biểu hiện số học. Toán tử phân chia $ là một trong những toán tử đó. Toán tử này được sử dụng trong các giai đoạn đường ống tổng hợp. Nó cũng được sử dụng để chia một số cho một số khác và trả về kết quả.

Cú pháp của toán tử phân chia $:

Để sử dụng toán tử này, bạn phải vượt qua các đối số trong một mảng. Trong toán tử này, đối số đầu tiên là cổ tức và đối số thứ hai là một ước số.

Examples:

Trong các ví dụ sau, chúng tôi đang làm việc với:

Output:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
6

Ví dụ 1: Sử dụng toán tử $ chia

Trong ví dụ này, chúng tôi sẽ sử dụng toán tử phân chia $ để tìm giá của điện thoại di động.

Output:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
7

Ví dụ 2: Thêm số của riêng bạn

Nếu người dùng muốn chia một trường cho một số nhất định, người dùng có thể làm như vậy.Trong ví dụ này, chúng tôi sẽ chia trường "TotalPrice" cho 2.

Output:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
8

Ví dụ 3: Kiểu dữ liệu sai

Toán tử phân chia $ chỉ hỗ trợ các loại dữ liệu số nguyên.Nếu giá trị không phải là một số nguyên, nó sẽ gây ra lỗi.

Output:

Ví dụ 4: Sử dụng toán tử $ chia trong tài liệu nhúng

Trong ví dụ này, chúng tôi sẽ chia tổng giá của máy tính xách tay cho 2.

Output:

{ "_id" : 1, "name" : "A", "hours" : 80, "resources" : 7 },
{ "_id" : 2, "name" : "B", "hours" : 40, "resources" : 4 }
9