Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De $currentDate operator stelt de waarde van een veld in op de huidige datum, hetzij als een datum of een tijdstempel. Deze operator is handig voor het bijhouden wanneer documenten voor het laatst zijn gewijzigd of voor het instellen van tijdstempels voor het maken van documenten.
Syntaxis
{
$currentDate: {
<field1>: <typeSpecification1>,
<field2>: <typeSpecification2>,
...
}
}
Parameterwaarden
| Kenmerk | Description |
|---|---|
field |
De naam van het veld dat moet worden ingesteld op de huidige datum. |
typeSpecification |
Optional. Hiermee geeft u het type van de datumwaarde.
true Kan (voor datumtype) of { $type: "timestamp" } voor tijdstempeltype zijn. De standaardwaarde is true (datum). |
Voorbeelden
Bekijk dit voorbeelddocument uit de winkelverzameling.
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"name": "Lakeshore Retail | DJ Equipment Stop - Port Cecile",
"location": {
"lat": 60.1441,
"lon": -141.5012
},
"staff": {
"totalStaff": {
"fullTime": 2,
"partTime": 0
}
},
"sales": {
"salesByCategory": [
{
"categoryName": "DJ Headphones",
"totalSales": 35921
}
],
"fullSales": 3700
},
"promotionEvents": [
{
"eventName": "Bargain Blitz Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 3,
"Day": 11
},
"endDate": {
"Year": 2024,
"Month": 2,
"Day": 18
}
},
"discounts": [
{
"categoryName": "DJ Turntables",
"discountPercentage": 18
},
{
"categoryName": "DJ Mixers",
"discountPercentage": 15
}
]
}
],
"tag": [
"#ShopLocal",
"#SeasonalSale",
"#FreeShipping",
"#MembershipDeals"
],
"company": "Lakeshore Retail",
"city": "Port Cecile",
"lastUpdated": {
"$date": "2024-12-11T10:21:58.274Z"
}
}
Voorbeeld 1: Huidige datum instellen
Als u een lastUpdated veld met de huidige datum wilt toevoegen aan een archiefdocument, gebruikt u de operator $currentDate om het veld met de huidige datum als een datumobject te maken.
db.stores.updateOne(
{ "_id": "2cf3f885-9962-4b67-a172-aa9039e9ae2f" },
{
$currentDate: {
"lastUpdated": true
}
}
)
Met deze bewerking wordt het volgende resultaat geretourneerd.
{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}
Voorbeeld 2: Huidige tijdstempel instellen
Als u zowel een datumveld als een tijdstempelveld wilt toevoegen om wijzigingen bij te houden, gebruikt u de operator $currentDate met een waarde waar en met een typetampwaarde.
db.stores.updateOne(
{ "_id": "2cf3f885-9962-4b67-a172-aa9039e9ae2f" },
{
$currentDate: {
"lastModified": true,
"lastModifiedTimestamp": { $type: "timestamp" }
}
}
)
Met deze bewerking wordt het volgende resultaat geretourneerd
{
acknowledged: true,
insertedId: null,
matchedCount: Long("1"),
modifiedCount: Long("1"),
upsertedCount: 0
}
Voorbeeld 3: Geneste velden bijwerken
Huidige datum instellen voor geneste velden in de documentstructuur.
db.stores.updateOne(
{ "_id": "2cf3f885-9962-4b67-a172-aa9039e9ae2f" },
{
$currentDate: {
"sales.lastSalesUpdate": true,
"staff.lastStaffUpdate": { $type: "timestamp" }
}
}
)
Met deze bewerking wordt het volgende resultaat geretourneerd.
[
{
"_id": "2cf3f885-9962-4b67-a172-aa9039e9ae2f",
"name": "First Up Consultants | Bed and Bath Center - South Amir",
"lastUpdated": ISODate("2025-02-12T10:30:45.123Z"),
"lastModified": ISODate("2025-02-12T10:30:45.123Z"),
"lastModifiedTimestamp": Timestamp(1739450445, 1),
"sales": {
"totalSales": 37701,
"lastSalesUpdate": ISODate("2025-02-12T10:30:45.123Z"),
"salesByCategory": [
{
"categoryName": "Mattress Toppers",
"totalSales": 37701
}
]
},
"staff": {
"totalStaff": {
"fullTime": 18,
"partTime": 17
},
"lastStaffUpdate": Timestamp(1739450445, 1)
}
}
]