MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Nhận danh sách các chỉ mục trong MongoDB

Trong MongoDB, bạn có thể sử dụng getIndexes() để lấy danh sách các chỉ mục trên một tập hợp.

Bạn cũng có thể lặp qua từng bộ sưu tập trong cơ sở dữ liệu để trả về tất cả các chỉ mục trong cơ sở dữ liệu.

Liệt kê các chỉ mục cho một bộ sưu tập cụ thể

db.collection.getIndexes() phương thức trả về các chỉ mục trên một tập hợp nhất định. Thay thế bộ sưu tập collection một phần cho tên thực của bộ sưu tập.

Cụ thể hơn, phương thức này trả về một mảng chứa danh sách các tài liệu xác định và mô tả các chỉ mục hiện có trên bộ sưu tập, bao gồm cả các chỉ mục ẩn.

Ví dụ:

db.posts.getIndexes()

Kết quả:

[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_"
	},
	{
		"v" : 2,
		"key" : {
			"title" : 1
		},
		"name" : "title_1"
	},
	{
		"v" : 2,
		"key" : {
			"tags" : 1
		},
		"name" : "tags_1"
	}
]

Trong ví dụ này, posts bộ sưu tập có ba chỉ mục.

Liệt kê tất cả các chỉ mục trong Cơ sở dữ liệu hiện tại

Chúng ta có thể xem xét ví dụ trước một bước xa hơn và để nó lặp lại qua tất cả các bộ sưu tập trong cơ sở dữ liệu hiện tại, liệt kê tất cả các chỉ mục cho mỗi bộ sưu tập.

Mã mẫu:

db.getCollectionNames().forEach(function(collection) {
    indexes = db.getCollection(collection).getIndexes();
    print("Indexes on " + collection + ":");
    printjson(indexes);
});

Kết quả ví dụ:

Indexes on articles:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Indexes on employees:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Indexes on posts:
[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_"
	},
	{
		"v" : 2,
		"key" : {
			"title" : 1
		},
		"name" : "title_1"
	},
	{
		"v" : 2,
		"key" : {
			"tags" : 1
		},
		"name" : "tags_1"
	}
]
Indexes on products:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]

Trong ví dụ này, có bốn bộ sưu tập:bài báo, nhân viên, bài đăng và sản phẩm, mỗi bộ sưu tập có một hoặc nhiều chỉ mục.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tính trung bình của một trường tài liệu phụ trên toàn bộ tài liệu trong Mongo

  2. Mongo DB tìm tất cả các bản ghi có giá trị cao nhất tùy thuộc vào trường khóa

  3. MongoDB $ rand

  4. Trả lại giá trị thực cuối cùng cho mỗi nhóm

  5. nhận các thuộc tính lược đồ từ Mô hình Mongoose