Tài liệu về nhà → MongoDB Atlas → MongoDB Atlas
Trên trang này
- Sự định nghĩa
- Cú pháp
- Lĩnh vực
- Định nghĩa khía cạnh
- Chuỗi mặt
- Các khía cạnh số
- Ngày ngày
- Kết quả khía cạnh
3 Biến tổng hợp{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } } - Giới hạn
- Ví dụ
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4 chỉ có sẵn trên các cụm Atlas chạy một trong các phiên bản sau:MongoDB 4.4.11 trở lên
MongoDB 5.0.4 trở lên
MongoDB 6.0 [bao gồm các ứng cử viên phát hành]
Ghi chú
Để chạy các truy vấn Facet trên các bộ sưu tập Sharded, cụm của bạn phải chạy MongoDB v6.0 trở lên.
Bạn không thể chạy các truy vấn
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4 với kế hoạch truy vấn và thống kê thực thi truy vấn.{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4 Các nhóm thu thập { "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4 kết quả theo các giá trị hoặc phạm vi trong các trường được chỉ định và trả về số lượng cho từng nhóm đó.The
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4
collector groups results by values or ranges in the specified faceted fields and returns the count for each of those groups.Bạn có thể sử dụng
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4 với cả giai đoạn { "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
9 và { "mappings": { "dynamic": false, "fields": { "genres": { "type": "stringFacet" }, "year": { "type": "number" } } } }
0. MongoDB khuyến nghị sử dụng { "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4 với giai đoạn { "mappings": { "dynamic": false, "fields": { "genres": { "type": "stringFacet" }, "year": { "type": "number" } } } }
0 để truy xuất kết quả siêu dữ liệu cho truy vấn. Để truy xuất kết quả siêu dữ liệu và kết quả truy vấn bằng giai đoạn { "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
9, bạn phải sử dụng biến tổng hợp { "mappings": { "dynamic": false, "fields": { "genres": { "type": "stringFacet" }, "year": { "type": "number" } } } }
4. Xem biến tổng hợp { "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
3 để tìm hiểu thêm.{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
3 Aggregation Variable to learn more.{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
4 có cú pháp sau:{ "$searchMeta"|"$search": { "index": , // optional, defaults to "default" "facet": { "operator": { }, "facets": { } } } }
| tài liệu | Vâng | Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh. for bucketing the data for each facet. You must specify at least one Facet Definition. | |||||||||||||
| tài liệu | Vâng | Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh. |
Nhà điều hành để sử dụng để thực hiện các khía cạnh.
Chuỗi mặt
Các khía cạnh số
Ngày ngày
Kết quả khía cạnh
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
3 Biến tổng hợp{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
| int | tài liệu | Vâng | |||||||||||||||||||||
| Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh. | Nhà điều hành để sử dụng để thực hiện các khía cạnh. | Vâng | |||||||||||||||||||||
| Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh. | Nhà điều hành để sử dụng để thực hiện các khía cạnh. | Vâng |
Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh.
Nhà điều hành để sử dụng để thực hiện các khía cạnh.
{ "mappings": { "dynamic": false, "fields": { "genres": { "type": "stringFacet" }, "year": { "type": "number" } } } }
Tài liệu định nghĩa khía cạnh chứa tên khía cạnh và các tùy chọn cụ thể cho một loại khía cạnh. Tìm kiếm Atlas hỗ trợ các loại khía cạnh sau:
db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
Các khía cạnh chuỗi cho phép bạn thu hẹp kết quả tìm kiếm Atlas dựa trên các giá trị chuỗi thường xuyên nhất trong trường chuỗi được chỉ định. Lưu ý rằng trường chuỗi phải được lập chỉ mục là StringFacet.
[ { count: { lowerBound: Long["13718"] }, facet: { genresFacet: { buckets: [ { _id: 'Drama', count: Long["7759"] }, { _id: 'Comedy', count: Long["3937"] }, { _id: 'Romance', count: Long["1916"] }, { _id: 'Thriller', count: Long["1705"] }, { _id: 'Documentary', count: Long["1703"] }, { _id: 'Action', count: Long["1558"] }, { _id: 'Crime', count: Long["1475"] }, { _id: 'Adventure', count: Long["1111"] }, { _id: 'Horror', count: Long["1008"] }, { _id: 'Biography', count: Long["877"] } ] } } } ]
Các khía cạnh chuỗi có cú pháp sau:Facet Results.
Quyền mua
Số lượng tối đa của các loại khía cạnh để trả về kết quả. Giá trị phải nhỏ hơn hoặc bằng
db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
0. Nếu được chỉ định, Atlas Search có thể trả về ít danh mục hơn được yêu cầu nếu dữ liệu được nhóm thành ít danh mục hơn số được yêu cầu của bạn. Nếu bị bỏ qua, mặc định là db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
1, điều đó có nghĩa là tìm kiếm Atlas sẽ chỉ trả về các danh mục Facet db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
1 hàng đầu theo tính toán.không
| tài liệu | VângBSON types:
| Vâng | |||||||||||||||||||||
| Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh. | Nhà điều hành để sử dụng để thực hiện các khía cạnh. | Vâng | |||||||||||||||||||||
| Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh. | Nhà điều hành để sử dụng để thực hiện các khía cạnh. | Vâng | |||||||||||||||||||||
| Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh. | Nhà điều hành để sử dụng để thực hiện các khía cạnh. | Vâng |
Thông tin cho việc xô dữ liệu cho mỗi khía cạnh. Bạn phải chỉ định ít nhất một định nghĩa khía cạnh.
Nhà điều hành để sử dụng để thực hiện các khía cạnh.
{ "mappings": { "dynamic": false, "fields": { "year": [ { "type": "numberFacet" } ] } } }
Tài liệu định nghĩa khía cạnh chứa tên khía cạnh và các tùy chọn cụ thể cho một loại khía cạnh. Tìm kiếm Atlas hỗ trợ các loại khía cạnh sau:
Các khía cạnh chuỗi cho phép bạn thu hẹp kết quả tìm kiếm Atlas dựa trên các giá trị chuỗi thường xuyên nhất trong trường chuỗi được chỉ định. Lưu ý rằng trường chuỗi phải được lập chỉ mục là StringFacet.
Các khía cạnh chuỗi có cú pháp sau:
Quyền mua
Truy vấn cũng chỉ định nhóm
db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
6 có tên { "mappings": { "dynamic": false, "fields": { "year": [ { "type": "numberFacet" } ] } } }
5 để lấy kết quả của truy vấn không thuộc bất kỳ ranh giới nào được chỉ định.db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 1980, "lte": 2000 } }, "facets": { "yearFacet": { "type": "number", "path": "year", "boundaries": [1980,1990,2000], "default": "other" } } } } } ]]
Truy vấn này trả về các kết quả sau:
[ { "count" : { "lowerBound" : NumberLong[6472] }, "facet" : { "yearFacet" : { "buckets" : [ { "_id" : 1980, "count" : NumberLong[2081] }, { "_id" : 1990, "count" : NumberLong[3773] }, { "_id" : "other", "count" : NumberLong[618] } ] } } } ]
Để tìm hiểu thêm về những kết quả này, hãy xem kết quả Facet.Facet Results.
Các khía cạnh ngày cho phép bạn thu hẹp kết quả tìm kiếm dựa trên một ngày.
Các khía cạnh ngày có cú pháp sau:
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "date", "path" : "", "boundaries" : , "default": "" } } } } }
| Mảng số | Danh sách các giá trị ngày chỉ định ranh giới cho mỗi thùng. Bạn phải chỉ định:
Mỗi cặp giá trị liền kề đóng vai trò giới hạn dưới bao gồm và giới hạn trên độc quyền cho xô. | Vâng | |||||||||||||||||||||
| sợi dây | Tên của một nhóm bổ sung đếm các tài liệu được trả về từ nhà điều hành không nằm trong các ranh giới được chỉ định. Nếu bị bỏ qua, Atlas Search bao gồm kết quả của toán tử Facet không thuộc một nhóm được chỉ định, nhưng tìm kiếm Atlas không bao gồm các kết quả này trong bất kỳ số lượng xô nào. | không | |||||||||||||||||||||
| sợi dây | Tên của một nhóm bổ sung đếm các tài liệu được trả về từ nhà điều hành không nằm trong các ranh giới được chỉ định. Nếu bị bỏ qua, Atlas Search bao gồm kết quả của toán tử Facet không thuộc một nhóm được chỉ định, nhưng tìm kiếm Atlas không bao gồm các kết quả này trong bất kỳ số lượng xô nào. | Vâng | |||||||||||||||||||||
| sợi dây | Tên của một nhóm bổ sung đếm các tài liệu được trả về từ nhà điều hành không nằm trong các ranh giới được chỉ định. Nếu bị bỏ qua, Atlas Search bao gồm kết quả của toán tử Facet không thuộc một nhóm được chỉ định, nhưng tìm kiếm Atlas không bao gồm các kết quả này trong bất kỳ số lượng xô nào. | Vâng |
sợi dây
Tên của một nhóm bổ sung đếm các tài liệu được trả về từ nhà điều hành không nằm trong các ranh giới được chỉ định. Nếu bị bỏ qua, Atlas Search bao gồm kết quả của toán tử Facet không thuộc một nhóm được chỉ định, nhưng tìm kiếm Atlas không bao gồm các kết quả này trong bất kỳ số lượng xô nào.
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
0không
Đường dẫn trường đến khía cạnh trên. Bạn có thể chỉ định một trường được lập chỉ mục là một ngày.
Loại khía cạnh. Giá trị phải là
0.db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 1980, "lte": 2000 } }, "facets": { "yearFacet": { "type": "number", "path": "year", "boundaries": [1980,1990,2000], "default": "other" } } } } } ]] Thí dụ
Ví dụ sau sử dụng một chỉ mục có tên
6 trên bộ sưu tậpdb.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
7. Trườngdb.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
3 trong bộ sưu tập được lập chỉ mục là loại ngày.db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 1980, "lte": 2000 } }, "facets": { "yearFacet": { "type": "number", "path": "year", "boundaries": [1980,1990,2000], "default": "other" } } } } } ]]
Truy vấn cũng chỉ định nhóm
db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 2000, "lte": 2015 } }, "facets": { "genresFacet": { "type": "string", "path": "genres" } } } } } ]]
6 có tên { "mappings": { "dynamic": false, "fields": { "year": [ { "type": "numberFacet" } ] } } }
5 để lấy kết quả của truy vấn không thuộc bất kỳ ranh giới nào được chỉ định.{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
1Truy vấn này trả về các kết quả sau:
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
2Để tìm hiểu thêm về những kết quả này, hãy xem kết quả Facet.Facet Results.
Truy vấn sử dụng giai đoạn
{ "mappings": { "dynamic": false, "fields": { "genres": { "type": "stringFacet" }, "year": { "type": "number" } } } }
0 để tìm kiếm trường db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 1980, "lte": 2000 } }, "facets": { "yearFacet": { "type": "number", "path": "year", "boundaries": [1980,1990,2000], "default": "other" } } } } } ]]
3 trong bộ sưu tập [ { count: { lowerBound: Long["13718"] }, facet: { genresFacet: { buckets: [ { _id: 'Drama', count: Long["7759"] }, { _id: 'Comedy', count: Long["3937"] }, { _id: 'Romance', count: Long["1916"] }, { _id: 'Thriller', count: Long["1705"] }, { _id: 'Documentary', count: Long["1703"] }, { _id: 'Action', count: Long["1558"] }, { _id: 'Crime', count: Long["1475"] }, { _id: 'Adventure', count: Long["1111"] }, { _id: 'Horror', count: Long["1008"] }, { _id: 'Biography', count: Long["877"] } ] } } } ]
2 cho các bộ phim giữa các năm { "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "number", "path" : "", "boundaries" : , "default": "" } } } } }
8 đến db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 1980, "lte": 2000 } }, "facets": { "yearFacet": { "type": "number", "path": "year", "boundaries": [1980,1990,2000], "default": "other" } } } } } ]]
8 và truy xuất kết quả siêu dữ liệu cho chuỗi truy vấn. Truy vấn chỉ định bốn thùng:
| Mảng số | Danh sách các giá trị ngày chỉ định ranh giới cho mỗi thùng. Bạn phải chỉ định: | |||||||||||||||||
| int | Ít nhất hai ranh giới |
Các giá trị theo thứ tự tăng dần, với ngày sớm nhất đầu tiênaggregation pipeline stages to view the metadata results for your
{ "$searchMeta": { "facet":{ "operator": { }, "facets": { "" : { "type" : "string", "path" : "", "numBuckets" : , } } } } }
9 query.Mỗi cặp giá trị liền kề đóng vai trò giới hạn dưới bao gồm và giới hạn trên độc quyền cho xô.
Vâng
sợi dây
Tên của một nhóm bổ sung đếm các tài liệu được trả về từ nhà điều hành không nằm trong các ranh giới được chỉ định. Nếu bị bỏ qua, Atlas Search bao gồm kết quả của toán tử Facet không thuộc một nhóm được chỉ định, nhưng tìm kiếm Atlas không bao gồm các kết quả này trong bất kỳ số lượng xô nào.
không
Đường dẫn trường đến khía cạnh trên. Bạn có thể chỉ định một trường được lập chỉ mục là một ngày.
Loại khía cạnh. Giá trị phải là
db.movies.aggregate[[ { "$searchMeta": { "facet": { "operator": { "range": { "path": "year", "gte": 1980, "lte": 2000 } }, "facets": { "yearFacet": { "type": "number", "path": "year", "boundaries": [1980,1990,2000], "default": "other" } } } } } ]]
0.Để tìm hiểu thêm về những kết quả này, hãy xem kết quả Facet.Facet Results.