Acaba "test" ne? Orada test adında bir veritabanı yok.
Bu, mongo kabuğunun bağlandığında kullandığı varsayılan veritabanıdır, bir şey eklemediğiniz sürece boştur. Bunu aslında herhangi bir veritabanı ile yapabilirsiniz, test sadece varsayılan.
İlk komut çalışmaz, çünkü db ile önek vermediniz, bu nedenle "isikota" yı bir değişken (javascript) olarak bulmaya çalışır ve bulamıyor. Benzer şekilde bir sonraki denemeniz, var olmayan bir "test" değişkeni için de aynısını yapar.
Son olarak, bu komut doğru formdur (db ile başlayan):
db.isikota.tablebusiness.ensureIndex({"LatitudeLongitude" : "2d"})
Ancak, veritabanını değiştirmediniz (ile use <database name>
) veya en azından en azından denemekten bahsetmediniz. Bunun yapacağını test veritabanında "isikota.tablebusiness" adlı bir koleksiyonda "LatitudeLongitude" alanında 2d (geoindex) bir dizin oluşturmaktır (db her zaman kullanmakta olduğunuz veritabanını ifade eder). Bu koleksiyon olmasa bile, dizin oluşturulur (bu yalnızca system.indexes ad alanına bir eklentidir) ve bu nedenle komut başarılı olur. Başka hiçbir şey görmeyeceksiniz, çünkü hala test veritabanında çalıştığınıza inanıyorum.
Verilerinizin aslında "isikota" adlı bir veritabanında olduğunu ve koleksiyonunuzun "tablebusiness" olduğunu varsayarsak, aslında yapmak istediğiniz şey şudur:
use isikota;
db.tablebusiness.ensureIndex({"LatitudeLongitude" : "2d"});
Bu, "isikota" adlı bir veritabanında "tablebusiness" adlı bir koleksiyonda "LatitudeLongitude" alanında dizin oluşturur.