ใน MongoDB เพื่อสร้างดัชนี คุณต้องใช้เมธอด createIndex()
ไวยากรณ์
db.COLLECTION_NAME.createIndex({KEY:1})
โดยที่ key คือชื่อฟิลด์ที่ต้องการสร้างดัชนี และ 1 หมายถึงเรียงลำดับจากน้อยไปมาก (ascending) หากต้องการสร้างดัชนีแบบเรียงจากมากไปน้อย (descending) ให้ใช้ -1
ใน Java คุณสามารถสร้างดัชนีได้โดยใช้เมธอด createIndex() โดยส่งประเภทของดัชนี (ascending หรือ descending) และชื่อฟิลด์ที่ต้องการสร้างดัชนี:
createIndex(Indexes.descending("name"));
ตัวอย่างโค้ด Java
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Indexes;
import org.bson.Document;
import com.mongodb.MongoClient;
public class CreatingIndex {
public static void main(String args[]) {
// สร้าง MongoDB client
MongoClient mongo = new MongoClient("localhost", 27017);
// เข้าถึงฐานข้อมูล
MongoDatabase database = mongo.getDatabase("myDatabase");
// สร้างคอลเลกชัน
database.createCollection("sampleCollection");
// ดึงคอลเลกชันที่ต้องการสร้างดัชนี
MongoCollection coll = database.getCollection("sampleCollection");
// สร้างดัชนี
coll.createIndex(Indexes.ascending("age"));
System.out.println("Index created successfully");
// แสดงรายชื่อดัชนีในคอลเลกชัน
for (Document index : coll.listIndexes()) {
System.out.println(index.toJson());
}
}
}
ผลลัพธ์
Index created successfully
{"v": 2, "key": {"_id": 1}, "name": "_id_", "ns": "myDatabase.sampleCollection"}
{"v": 2, "key": {"age": 1}, "name": "age_1", "ns": "myDatabase.sampleCollection"}