кодесурса
«MongoDB

MongoDB: cursor.hint () метод

script1adsense2code
script1adsense3code

cursor.hint

Метод cursor.hint () используется, чтобы заставить MongoDB использовать определенный индекс для запроса.

Синтаксис:

 cursor.hint (индекс)

Параметры:

название Описание Необходимые /
Необязательный
Тип
индекс Индекс, который намекает или заставляет MongoDB использовать при выполнении запроса. Укажите индекс либо по имени индекса, либо по документу спецификации индекса. необходимые строка или документ

Пример документа в коллекции restaurant_new:


{
  "address": {
     "building": "1007",
     "coord": [ -73.856077, 40.848447 ],
     "street": "Morris Park Ave",
     "zipcode": "10462"
  },
  "borough": "Bronx",
  "cuisine": "Bakery",
  "grades": [
     { "date": { "$date": 1393804800000 }, "grade": "A", "score": 2 },
     { "date": { "$date": 1378857600000 }, "grade": "A", "score": 6 },
     { "date": { "$date": 1358985600000 }, "grade": "A", "score": 10 },
     { "date": { "$date": 1322006400000 }, "grade": "A", "score": 9 },
     { "date": { "$date": 1299715200000 }, "grade": "B", "score": 14 }
  ],
  "name": "Morris Park Bake Shop",
  "restaurant_id": "30075445"
}
...............

Пример: MongoDB: cursor.hint () метод

Предположим, что следующий индекс уже существует в коллекции restaurant_new


> db.restaurants_new.getIndexes();
[
        {
                "v" : 1,
                "key" : {
                        "_id" : 1
                },
                "name" : "_id_",
                "ns" : "test.restaurants_new"
        },
        {
                "v" : 1,
                "key" : {
                        "cuisine" : 1
                },
                "name" : "cuisine_1",
                "ns" : "test.restaurants_new"
        }
]

В следующем примере возвращаются все документы в коллекции с именем restaurant_new с использованием индекса в поле кухни.


db.restaurants_new.find().hint( { cuisine: 1 } );
or 
db.restaurants_new.find().hint( "cuisine_1" );

Выход:

 > db.restaurants_new.find (). hint ({kitchen: 1});
{"_id": ObjectId ("55c3043ab165fa6355ec6374"), "address": {"building": "1345", "corre": [-73.959249, 40.768076], "street": "2 Avenue", "zipcode": " 10021 "}," местный ":" Манхэттен "," кухня ":" афганская "," классы ": [{" date ": ISODate (" 2014-10-07T00: 00: 00Z ")," grade ":" А "," оценка ": 9},
{"дата": ISODate ("2013-10-23T00: 00: 00Z"), "оценка": "A", "оценка": 8}, {"дата": ISODate ("2012-10-26T00: 00 : 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2012-04-26T00: 00: 00Z ")," оценка ":" A "," оценка ": 7}, {" date ": ISODate (" 2012-01-12T00: 00: 00Z ")," grade ":" P "," score ": 10}],
"name": "Дом афганского шашлыка", "restaurant_id": "40552806"}
{"_id": ObjectId ("55c3043ab165fa6355ec649f"), "address": {"building": "34", "corre": [-73.9883612, 40.7286391], "street": "St Marks Place", "почтовый индекс": "10003"}, "городской округ": "Манхэттен", "кухня": "афганская", "классы": [{"дата": ISODate ("2014-02-20T00: 00: 00Z"), "класс": "Оценка" :
 12}, {"дата": ISODate ("2013-08-06T00: 00: 00Z"), "оценка": "B", "оценка": 17}, {"дата": ISODate ("2013-01- 31T00: 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2012-05-24T00: 00: 00Z ")," оценка ":" A " , "оценка": 10}, {"дата": ISODate ("2011-12-13T00: 00: 00Z"), "оценка": "A", "оценка":
 10}, {"date": ISODate ("2011-08-25T00: 00: 00Z"), "grade": "A", "Score": 10}], "name": "Pass Khyber", "restaurant_id ":" 40589545 "}
{"_id": ObjectId ("55c3043ab165fa6355ec6558"), "address": {"building": "764", "corre": [-73.9880435, 40.7641423], "street": "9 Avenue", "zipcode": " 10019 "}," местный ":" Манхэттен "," кухня ":" афганская "," классы ": [{" date ": ISODate (" 2014-12-30T00: 00: 00Z ")," grade ":" А "," оценка ": 12}
, {"дата": ISODate ("2013-10-10T00: 00: 00Z"), "оценка": "B", "оценка": 19}, {"дата": ISODate ("2013-02-25T00: 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2012-08-09T00: 00: 00Z ")," оценка ":" C "," оценка ": 2}, {" дата ": ISODate (" 2012-02-16T00: 00: 00Z ")," оценка ":" А "," оценка ": 9}]
, "name": "Дом афганского шашлыка # 1", "restaurant_id": "40616799"}
{"_id": ObjectId ("55c3043ab165fa6355ec6a7b"), "address": {"building": "787", "corre": [-73.9880886, 40.7651331], "street": "9 Avenue", "zipcode": " 10019 "}," городской округ ":" Манхэттен "," кухня ":" афганская "," классы ": [{" дата ": ISODate (" 2014-07-22T00: 00: 00Z ")," класс ":" А "," оценка ": 3},
 {"дата": ISODate ("2013-07-08T00: 00: 00Z"), "оценка": "A", "оценка": 2}, {"дата": ISODate ("2013-02-05T00: 00 : 00Z ")," оценка ":" A "," оценка ": 2}, {" дата ": ISODate (" 2011-11-28T00: 00: 00Z ")," оценка ":" A "," оценка ": 13}]," name ":" Ariana Kebab House "," restaurant_id ":" 40868400 "}
{"_id": ObjectId ("55c3043bb165fa6355ec8ce2"), "address": {"building": "259-11", "ord": [-73.708831, 40.73748399999999], "street": "Hillside Avenue", "zipcode" : "11004"}, "городской округ": "Королевы", "кухня": "афганская", "классы": [{"дата": ISODate ("2014-09-15T00: 00: 00Z"), "класс") : "А", "
оценка ": 13}, {" дата ": ISODate (" 2013-09-18T00: 00: 00Z ")," оценка ":" А "," оценка ": 7}, {" дата ": ISODate (" 2013 -04-18T00: 00: 00Z ")," оценка ":" B "," оценка ": 21}, {" дата ": ISODate (" 2012-08-29T00: 00: 00Z ")," оценка ": «A», «оценка»: 2}, {«дата»: ISODate («2012-02-09T00: 00: 00Z»), «оценка»: «A», «sc
руда ": 11}]," name ":" Дом афганского кебоба "," restaurant_id ":" 41535706 "}
{"_id": ObjectId ("55c3043bb165fa6355ec8f12"), "address": {"building": "68-16", "corre": [-73.79474420000001, 40.7332144], "street": "Fresh Meadow Lane", "почтовый индекс ":" 11365 "}," городской округ ":" Королевы "," кухня ":" афганская "," классы ": [{" дата ": ISODate (" 2013-11-23T00: 00: 00Z ")," класс " ":" А ",
 "оценка": 13}, {"дата": ISODate ("2013-06-01T00: 00: 00Z"), "оценка": "А", "оценка": 13}, {"дата": ISODate (" 2012-02-27T00: 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2011-09-03T00: 00: 00Z ")," оценка " : "C", "score": 34}], "name": "Бахтер афганский халяль кабаб", "restaurant_id":
 "41559771"}
{"_id": ObjectId ("55c3043bb165fa6355ec900e"), "address": {"building": "43-27", "corre": [-73.8260645, 40.751886], "street": "Main Street", "zipcode" : "11355"}, "городской округ": "Королевы", "кухня": "афганская", "классы": [{"date": ISODate ("2014-02-25T00: 00: 00Z"), "grade" : "А", "оценка": 12
}, {"date": ISODate ("2013-08-29T00: 00: 00Z"), "grade": "B", "Score": 15}, {"date": ISODate ("2013-03-05T00 : 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2013-02-13T00: 00: 00Z ")," оценка ":" P ", "оценка": 5}, {"дата": ISODate ("2012-06-28T00: 00: 00Z"), "оценка": "B", "оценка": 17}
, {"date": ISODate ("2011-06-18T00: 00: 00Z"), "grade": "A", "Score": 13}], "name": "Choopan Kabab Restaurant", "restaurant_id" : "41569155"}
{"_id": ObjectId ("55c3043bb165fa6355ec9b4e"), "address": {"building": "6729", "corre": [-73.8204147, 40.724243], "street": "Main St", "zipcode": " 11367 "}," местный ":" Королевы "," кухня ":" Афганская "," классы ": [{" date ": ISODate (" 2014-08-20T00: 00: 00Z ")," grade ":" A "," Score ": 4}, {"
дата ": ISODate (" 2013-07-31T00: 00: 00Z ")," оценка ":" A "," оценка ": 5}, {" date ": ISODate (" 2012-08-04T00: 00: 00Z ")," оценка ":" A "," оценка ": 5}]," имя ":" Бахтар Кабаб "," restaurant_id ":" 41661199 "}
{"_id": ObjectId ("55c3043bb165fa6355ec9c32"), "address": {"building": "984", "ordin ": [-73.9673814, 40.63341399999999]," улица ":" Проспект Кони-Айленда "," почтовый индекс ": "11230"}, "городской округ": "Бруклин", "кухня": "афганская", "классы": [{"дата": ISODate ("2014-09-19T00: 00: 00Z"), "класс": «C
"," оценка ": 38}, {" дата ": ISODate (" 2014-03-27T00: 00: 00Z ")," оценка ":" А "," оценка ": 12}, {" дата ": ISODate ("2014-02-12T00: 00: 00Z"), "оценка": "P", "оценка": 6}, {"дата": ISODate ("2013-06-18T00: 00: 00Z"), " оценка ":" А "," оценка ": 10}, {" дата ": ISODate (" 2012-06-05T00: 00: 00Z ")," оценка ":" А "
, "score": 6}], "name": "Bahar Masala", "restaurant_id": "41670224"}
{"_id": ObjectId ("55c3043bb165fa6355eca97a"), "address": {"building": "110-23", "corre": [-73.8374947, 40.696891], "street": "Ямайский проспект", "почтовый индекс" : "11418"}, "городской округ": "Королевы", "кухня": "афганская", "классы": [{"date": ISODate ("2014-07-09T00: 00: 00Z"), "класс" : "Оценка" :
 12}, {"дата": ISODate ("2014-01-02T00: 00: 00Z"), "оценка": "A", "оценка": 11}], "name": "Новый бхатарский афганский халяль Кабаб & Gyro King "," restaurant_id ":" 50001906 "}
{"_id": ObjectId ("55c3043bb165fa6355ecb140"), "address": {"building": "2310", "corre": [-73.91336969999999, 40.7742674], "street": "31St St", "почтовый индекс": " 11105 "}," местный ":" Королевы "," кухня ":" Афганская "," классы ": [{" date ": ISODate (" 2014-03-27T00: 00: 00Z ")," grade ":" Оценка" :
13}], "name": "Дом Балх Шиш Кабаб", "restaurant_id": "50007432"}
{"_id": ObjectId ("55c3043bb165fa6355ecb260"), "address": {"building": "33-35", "ordin ": [-73.7896131, 40.7666136]," улица ":" бульвар Фрэнсиса Льюиса "," почтовый индекс ":" 11358 "}," городской округ ":" Королевы "," кухня ":" афганская "," классы ": [{" дата ": ISODate (" 2014-06-25T00: 00: 00Z ")," класс " ":" А ",
"score": 11}], "name": "Дом Арья Кабоб", "restaurant_id": "50008452"}
{"_id": ObjectId ("55c3043bb165fa6355ecb4d8"), "address": {"building": "72-55", "corre": [-73.812895, 40.7276946], "street": "бульвар Киссены", "почтовый индекс" : "11367"}, "городской округ": "Королевы", "кухня": "афганская", "классы": [{"дата": ISODate ("2014-08-28T00: 00: 00Z"), "класс") : "Оценка"
 : 12}], "name": "Tariq Афганистан Кабаб", "restaurant_id": "50010806"}
{"_id": ObjectId ("55c3043bb165fa6355ecb4da"), "address": {"building": "68-16", "corre": [-73.79474420000001, 40.7332144], "street": "Fresh Meadow Lane", "почтовый индекс ":" 11365 "}," городской округ ":" Королевы "," кухня ":" афганская "," классы ": [{" дата ": ISODate (" 2015-01-12T00: 00: 00Z ")," класс " ":" А ",
 "оценка": 10}, {"дата": ISODate ("2014-06-26T00: 00: 00Z"), "оценка": "А", "оценка": 12}], "имя": "Бахтер афганский" Халяль Кабаб "," restaurant_id ":" 50010813 "}
{"_id": ObjectId ("55c3043ab165fa6355ec5d61"), "address": {"building": "2300", "corre": [-73.8786113, 40.8502883], "street": "Южный бульвар", "почтовый индекс": " 10460 "}," городской округ ":" Бронкс "," кухня ":" Африканская "," классы ": [{" дата ": ISODate (" 2014-05-21T00: 00: 00Z ")," класс ":" Оценка
": 8}, {" дата ": ISODate (" 2013-06-01T00: 00: 00Z ")," оценка ":" A "," оценка ": 6}, {" дата ": ISODate (" 2012- 06-12T00: 00: 00Z ")," оценка ":" A "," оценка ": 0}, {" дата ": ISODate (" 2011-06-08T00: 00: 00Z ")," оценка ":" A "," score ": 0}]," name ":" African Terrace "," restaurant_id ":" 40368021 "}
{"_id": ObjectId ("55c3043ab165fa6355ec667a"), "address": {"building": "195", "corre": [-73.9717845, 40.6897199], "street": "Avenue Dekalb", "zipcode": " 11205 "}," городской округ ":" Бруклин "," кухня ":" Африканская "," классы ": [{" дата ": ISODate (" 2014-08-18T00: 00: 00Z ")," класс ":" Оценка" :
 7}, {"дата": ISODate ("2014-01-13T00: 00: 00Z"), "оценка": "B", "оценка": 19}, {"дата": ISODate ("2012-12- 19T00: 00: 00Z ")," оценка ":" A "," оценка ": 7}, {" дата ": ISODate (" 2012-08-01T00: 00: 00Z ")," оценка ":" A " , "оценка": 10}, {"дата": ISODate ("2012-03-12T00: 00: 00Z"), "оценка": "А", "оценка": 1
2}, {"date": ISODate ("2011-11-01T00: 00: 00Z"), "grade": "A", "Score": 10}], "name": "Madiba", "restaurant_id" : "40684161"}
{"_id": ObjectId ("55c3043ab165fa6355ec68f0"), "address": {"building": "14612", "corre": [-73.8057078, 40.6948408], "street": "Avenue Liberty", "zipcode": " 11435 "}," городской округ ":" Королевы "," кухня ":" Африканская "," классы ": [{" дата ": ISODate (" 2014-04-16T00: 00: 00Z ")," класс ":" Оценка"
: 4}, {"дата": ISODate ("2013-09-16T00: 00: 00Z"), "оценка": "A", "оценка": 2}, {"дата": ISODate ("2012-08 -23T00: 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2012-02-21T00: 00: 00Z ")," оценка ":" A "," оценка ": 11}, {" дата ": ISODate (" 2011-06-30T00: 00: 00Z ")," оценка ":" B "," оценка ":
19}], "name": "Africana Restaurant", "restaurant_id": "40798504"}
{"_id": ObjectId ("55c3043ab165fa6355ec69a8"), "address": {"building": "2364", "corre": [-73.9025083, 40.8603246], "street": "Проспект Джерома", "почтовый индекс": " 10468 "}," городской округ ":" Бронкс "," кухня ":" Африканская "," классы ": [{" дата ": ISODate (" 2014-04-22T00: 00: 00Z ")," класс ":" А "," оценка ": 1
2}, {"дата": ISODate ("2013-10-22T00: 00: 00Z"), "оценка": "A", "оценка": 9}, {"дата": ISODate ("2012-09- 18T00: 00: 00Z ")," оценка ":" A "," оценка ": 11}, {" дата ": ISODate (" 2011-10-04T00: 00: 00Z ")," оценка ":" A " , "оценка": 13}, {"дата": ISODate ("2011-05-26T00: 00: 00Z"), "оценка": "А", "оценка": 11
 }], "name": "Ebe Ye Yie African Restaurant", "restaurant_id": "40832718"}
{"_id": ObjectId ("55c3043ab165fa6355ec6bbb"), "address": {"building": "2535", "corre": [-73.9277649, 40.81103], "street": "3 Avenue", "zipcode": " 10451 "}," городской округ ":" Бронкс "," кухня ":" Африканская "," классы ": [{" дата ": ISODate (" 2014-06-07T00: 00: 00Z ")," класс ":" А "," оценка ": 12}, {
«дата»: ISODate («2013-05-03T00: 00: 00Z»), «оценка»: «A», «оценка»: 12}, {«дата»: ISODate («2012-08-10T00: 00: 00Z ")," оценка ":" P "," оценка ": 3}, {" дата ": ISODate (" 2012-04-14T00: 00: 00Z ")," оценка ":" A "," оценка " : 11}, {"дата": ISODate ("2011-10-15T00: 00: 00Z"), "оценка": "A", "оценка": 10}], "
name ":" African Maquis La Plantation "," restaurant_id ":" 40923014 "}
{"_id": ObjectId ("55c3043ab165fa6355ec6edd"), "address": {"building": "1150", "corre": [-73.91670189999999, 40.8323228], "street": "Sherman Avenue", "zipcode": " 10456 "}," городской округ ":" Бронкс "," кухня ":" Африканская "," классы ": [{" дата ": ISODate (" 2014-12-23T00: 00: 00Z ")," класс ":" A, "sc"
руда ": 12}, {" дата ": ISODate (" 2013-12-24T00: 00: 00Z ")," оценка ":" A "," оценка ": 3}, {" дата ": ISODate (" 2012 -12-07T00: 00: 00Z ")," оценка ":" A "," оценка ": 12}, {" дата ": ISODate (" 2012-05-15T00: 00: 00Z ")," оценка ": "B", "score": 14}], "name": "Ресторан Халяль Кафе", "restaurant_id": "4
1012979 "}

Получить данные о ресторанах здесь

Поведение

Когда для формы запроса существует индексный фильтр, MongoDB игнорирует подсказку ().

Вы не можете использовать hint (), если запрос содержит выражение запроса $ text.

Предыдущий: cursor.hasNext () метод
Далее: метод cursor.itcount ()

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code