Интересно, что такое «тест»? Там нет базы данных с именем test.
Это просто база данных по умолчанию, которую оболочка mongo использует при подключении, если вы что-то не вставили, она пуста. Вы можете сделать это с любой базой данных, тест по умолчанию.
Первая команда не будет работать, потому что вы не указали префикс db, так как она пытается найти «isikota» как переменную (javascript) и не может ее найти. Точно так же ваша следующая попытка делает то же самое с несуществующей «тестовой» переменной.
Наконец, эта команда является правильной формой (с префиксом db):
db.isikota.tablebusiness.ensureIndex({"LatitudeLongitude" : "2d"})
Но вы не изменили базу данных (с use <database name>
) или, по крайней мере, вы не упомянули попытки по крайней мере. Для этого нужно создать 2d (geoindex) индекс в поле «LatitudeLongitude» для коллекции с именем «isikota.tablebusiness» в тестовой базе данных (db всегда ссылается на базу данных, которую вы используете в данный момент). Даже если эта коллекция не существует, индекс будет создан (это просто вставка в пространство имен system.indexes), и, следовательно, команда будет выполнена успешно. Вы просто больше ничего не увидите, потому что я считаю, что вы все еще работаете с тестовой базой данных.
Предполагая, что ваши данные на самом деле находятся в базе данных «isikota» и что «tablebusiness» - это ваша коллекция, вы действительно хотите сделать следующее:
use isikota;
db.tablebusiness.ensureIndex({"LatitudeLongitude" : "2d"});
Это создаст индекс в поле «LatitudeLongitude» в коллекции с именем «tablebusiness» в базе данных с именем «isikota».