кодесурса
«MongoDB

MongoDB: метод db.collection.findOne ()

script1adsense2code
script1adsense3code

db.collection.findOne

Метод db.collection.findOne () используется для возврата одного документа, который удовлетворяет заданным критериям запроса. Если запрос удовлетворяет несколько документов, этот метод возвращает первый документ в соответствии с естественным порядком, который отражает порядок документов на диске. В ограниченных коллекциях естественный порядок такой же, как порядок вставки. Если ни один документ не удовлетворяет запросу, метод возвращает ноль.

Синтаксис:

 db.collection.findOne (запрос, проекция)

Параметр: с

название Описание Необходимые /
Необязательный
Тип
запрос Определяет критерии выбора запроса, используя операторы запроса Необязательный документ
проекция Определяет поля для возврата с использованием операторов проекции. Опустите этот параметр, чтобы вернуть все поля в соответствующем документе. Необязательный документ

Параметр проекции принимает документ следующей формы:

{ field1: <boolean>, field2: <boolean> ... }

<Логическое> может быть одним из следующих значений включения или исключения:

  • 1 или правда, чтобы включить. Метод findOne () всегда включает поле _id, даже если это поле не указано явно в параметре проекции.
  • 0 или ложь, чтобы исключить.

Аргумент проекции не может смешивать спецификации включения и исключения, за исключением исключения поля _id.

Возвращает

Один документ, который удовлетворяет критериям, указанным в качестве первого аргумента этого метода. Если вы укажете параметр проекции, findOne () вернет документ, который содержит только поля проекции. Поле _id всегда включено, если вы явно не исключаете его.

Образец документа в коллекции ресторанов:


{
  "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: метод db.collection.findOne () с пустой спецификацией запроса

Следующая операция возвращает один документ из коллекции ресторанов.

db.restaurants.findOne();

Выход:

 {
        "_id": ObjectId ("55c3043ab165fa6355ec5c89"),
        "адрес" : {
                «здание»: «1007»,
                "координ": [
                        -73,856077,
                        40.848447
                ],
                "улица": "Моррис Парк Авеню",
                почтовый индекс: 10462
        },
        "Боро": "Бронкс",
        "кухня": "пекарня",
        "оценки" : [
                {
                        «date»: ISODate («2014-03-03T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 2
                },
                {
                        «date»: ISODate («2013-09-11T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 6
                },
                {
                        «date»: ISODate («2013-01-24T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 10
                },
                {
                        «date»: ISODate («2011-11-23T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 9
                },
                {
                        «date»: ISODate («2011-03-10T00: 00: 00Z»),
                        "оценка": "B",
                        "оценка": 14
                }
        ],
        "name": "Morris Park Bake Shop",
        "restaurant_id": "30075445"
}

Пример: MongoDB: метод db.collection.findOne () со спецификацией запроса

Следующая операция возвращает первый соответствующий документ из коллекции ресторанов, где либо имя поля в документах начинается с буквы G, где координата поля во встроенном адресе документа больше 90.

db.restaurants.findOne(
   {
     $or: [
            { "name" : /^G/ },
            { "address.coord": { $gt: 90 } }
          ]
   }
);

Выход

 {
        "_id": ObjectId ("55c3043ab165fa6355ec5c9b"),
        "адрес" : {
                "здание": "522",
                "координ": [
                        -73,95171,
                        40.767461
                ],
                "улица": "Восточная 74 улица",
                почтовый индекс: 10021
        },
        "Город": "Манхэттен",
        «кухня»: «американская»,
        "оценки" : [
                {
                        «date»: ISODate («2014-09-02T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 12
                },
                {
                        «date»: ISODate («2013-12-19T00: 00: 00Z»),
                        "оценка": "B",
                        "оценка": 16
                },
                {
                        «date»: ISODate («2013-05-28T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 9
                },
                {
                        «date»: ISODate («2012-12-07T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 13
                },
                {
                        «date»: ISODate («2012-03-29T00: 00: 00Z»),
                        "оценка отлично",
                        "оценка": 11
                }
        ],
        "имя": "Славная еда",
        "restaurant_id": "40361521"
}

Пример: MongoDB: метод db.collection.findOne (), исключающий указанные поля

Следующая операция возвращает документ в коллекции ресторанов, где поле theisine содержит элемент elementItalian и возвращает все поляsexceptthe_id и поле оценок.

db.restaurants.findOne(
   { "cuisine": "Italian" },
   { _id: 0, grades: 0 }
);

Выход:

 {
        "адрес" : {
                «здание»: «10004»,
                "координ": [
                        -74,03400479999999,
                        40.6127077
                ],
                "улица": "4 проспект",
                "почтовый индекс": "11209"
        },
        "Боро": "Бруклин",
        "кухня": "итальянская",
        "имя": "Филадельфия Гриль Экспресс",
        "restaurant_id": "40364305"
}

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

Предыдущая: db.collection. метод findAndModify ()
Далее: метод db.collection.getIndexes ()

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code