Ich frage mich, was "Test" ist. Dort gibt es keine Datenbank mit dem Namen test.
Dies ist nur die Standarddatenbank, die die Mongo-Shell beim Herstellen einer Verbindung verwendet. Sofern Sie nichts einfügen, ist sie leer. Sie können dies mit jeder Datenbank tun. Test ist nur die Standardeinstellung.
Der erste Befehl funktioniert nicht, da Sie db nicht vorangestellt haben. Daher versucht er, "isikota" als Variable (Javascript) zu finden, und findet ihn nicht. In ähnlicher Weise macht Ihr nächster Versuch dasselbe mit einer nicht existierenden "Test" -Variablen.
Schließlich ist dieser Befehl die richtige Form (mit dem Präfix db):
db.isikota.tablebusiness.ensureIndex({"LatitudeLongitude" : "2d"})
Aber Sie haben die Datenbank (mit use <database name>
) nicht geändert oder zumindest nicht erwähnt , dass Sie es zumindest versucht haben. Dazu wird ein 2d-Index (Geoindex) für ein Feld "LatitudeLongitude" in einer Sammlung mit dem Namen "isikota.tablebusiness" in der Testdatenbank erstellt (db bezieht sich immer auf die Datenbank, die Sie gerade verwenden). Auch wenn diese Auflistung nicht vorhanden ist, wird der Index erstellt (dies ist nur eine Einfügung in den Namespace system.indexes), und daher ist der Befehl erfolgreich. Sie werden einfach nichts anderes sehen, weil ich glaube, dass Sie immer noch an der Testdatenbank arbeiten.
Angenommen, Ihre Daten befinden sich tatsächlich in einer Datenbank namens "isikota" und "tablebusiness" ist Ihre Sammlung. Was Sie tatsächlich tun möchten, ist Folgendes:
use isikota;
db.tablebusiness.ensureIndex({"LatitudeLongitude" : "2d"});
Dadurch wird der Index für das Feld "LatitudeLongitude" in einer Sammlung mit dem Namen "tablebusiness" in einer Datenbank mit dem Namen "isikota" erstellt.