2012-05-19 19 views
5

Tôi đang sử dụng trình điều khiển gốc mongodb cho nút. Tôi gọi ensureIndex({ keywords: 1}) sau khi truy xuất bộ sưu tập. Khi tôi kiểm tra trong giao diện điều khiển mongo, không có gì xuất hiện khi tôi gọi db.mycol.getIndexes().mongo native EnsureIndex không tạo chỉ mục

Tôi đang làm gì sai?

+5

Bạn có thể thêm văn bản làm câu trả lời bên dưới. Đó là cách tràn ngăn xếp, chỉ trả lời các câu hỏi của bạn giống như những câu hỏi khác. Sau hai ngày (nếu không trả lời tốt hơn đến) bạn thậm chí có thể chấp nhận câu trả lời của riêng bạn là chính xác. Sẽ tốt hơn khi những người khác xem câu hỏi của bạn đã được giải quyết. – Aufziehvogel

Trả lời

2

Các tài liệu API giúp một chút: http://mongodb.github.com/node-mongodb-native/api-generated/db.html#ensureindex

Bạn đang phải gọi ensureIndex trên đối tượng cơ sở dữ liệu, không phải là bộ sưu tập. Điều này mâu thuẫn với bảng điều khiển JavaScript.

+0

Không chắc chắn nếu điều này đã thay đổi nhưng 'collection.ensureIndex' xuất hiện để làm việc cho tôi cục bộ. Ví dụ mã [ở đây] (http://mongodb.github.com/node-mongodb-native/api-generated/collection.html#ensureindex) sử dụng 'collection.ensureIndex'. – Gloopy

+0

Vì lý do nào đó, 'collection.ensureIndex (...)' không tạo ra chỉ mục hoặc chạy gọi lại cho tôi, nhưng 'db.ensureIndex (collection, ...)' thực hiện. Sử dụng MongoDB 2.4.10, node-mongodb-native 1.4.2. –

0

Tôi gặp phải một vấn đề tương tự và vấn đề là tôi đã không mở cơ sở dữ liệu trước khi gọi EnsureIndex. Những gì tôi đang làm là (cà phê kịch bản)

db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) -> 
     console.log indexName 
     console.log err 
     db.close() 

và những gì làm việc là

db.open (err,database) -> 
    db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) -> 
     console.log indexName 
     console.log err 
     db.close() 

Đoạn đầu tiên đã không làm gì cả. Không có chỉ mục nào được tạo và không có lỗi nào bị ném.

Các vấn đề liên quan