Udostępnij za pośrednictwem


$millisecond (wyrażenie daty)

Dotyczy: Rdzenie wirtualne bazy danych MongoDB

Operator $millisecond wyodrębnia część milisekund z wartości daty, zwracając liczbę z zakresu od 0 do 999. Ten operator jest przydatny w przypadku precyzyjnych operacji analizy sygnatury czasowej i filtrowania, które wymagają stopnia szczegółowości na poziomie milisekund.

Składnia

Składnia $objectToArray operatora jest następująca:

{
  $millisecond: <dateExpression>
}

Parametry

Opis
dateExpression Wyrażenie, które rozpoznaje datę, znacznik czasu lub identyfikator ObjectId. Jeśli wyrażenie jest rozpoznawane jako null lub jest brakujące, $millisecond zwraca wartość null.

Przykład

Zapoznajmy się z użyciem przykładowego kodu JSON z stores zestawu danych.

{
  "_id": "905d1939-e03a-413e-a9c4-221f74055aac",
  "name": "Trey Research | Home Office Depot - Lake Freeda",
  "location": { "lat": -48.9752, "lon": -141.6816 },
  "staff": { "employeeCount": { "fullTime": 12, "partTime": 19 } },
  "sales": {
    "salesByCategory": [ { "categoryName": "Desk Lamps", "totalSales": 37978 } ],
    "revenue": 37978
  },
  "company": "Trey Research",
  "city": "Lake Freeda",
  "storeOpeningDate": ISODate("2024-09-26T22:55:25.779Z"),
  "lastUpdated": Timestamp({ "t": 1729983325, "i": 1 })
}

Przykład 1. Wyodrębnianie milisekund z daty otwarcia sklepu

W tym przykładzie wyodrębnia część milisekund z daty otwarcia sklepu.

db.stores.aggregate([
  { $match: {"_id": "905d1939-e03a-413e-a9c4-221f74055aac"} },
  {
    $project: {
      name: 1,
      storeOpeningDate: 1,
      openingMilliseconds: {
        $millisecond: "$storeOpeningDate"
      }
    }
  }
])

Zapytanie zwraca część milisekund (779) ze znacznika czasu otwarcia sklepu.

{
  "_id": "905d1939-e03a-413e-a9c4-221f74055aac",
  "name": "Trey Research | Home Office Depot - Lake Freeda",
  "storeOpeningDate": ISODate("2024-09-26T22:55:25.779Z"),
  "openingMilliseconds": 779
}