View a markdown version of this page

$trunc - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$trunc

Neu ab Version 8.0.1.

Der $trunc Operator in Amazon DocumentDB kürzt eine Zahl auf eine angegebene Dezimalstelle und entfernt Ziffern ohne Rundung.

Parameter

  • number: Ein Ausdruck, der in eine Zahl aufgelöst wird.

  • place: Optional. Ein Ganzzahlausdruck zwischen -20 und 100, der die Anzahl der Dezimalstellen angibt, auf die gekürzt werden soll. Ein negativer Wert wird links von der Dezimalstelle gekürzt. Der Standardwert ist 0.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt, wie der $trunc Operator verwendet wird, um numerische Werte auf eine Dezimalstelle zu kürzen.

Abschneiden mit einem positiven Stellenwert

db.measurements.insertMany([ {_id: 1, value: 3.456}, {_id: 2, value: 7.891}, {_id: 3, value: 12.345} ]);

Beispiel für eine Abfrage

db.measurements.aggregate([ { $project: { truncated: { $trunc: ["$value", 1] } } } ]);

Ausgabe

[ {_id: 1, truncated: 3.4}, {_id: 2, truncated: 7.8}, {_id: 3, truncated: 12.3} ]

Mit einem negativen Ortswert kürzen

Wenn negativ place ist, werden die Ziffern links von der Dezimalstelle durch Nullen $trunc ersetzt. Im folgenden Beispiel werden Werte mit der ersten Ziffer links von der Dezimalstelle gekürzt.

db.samples.insertMany([ {_id: 1, value: 19.25}, {_id: 2, value: 28.73}, {_id: 3, value: 34.32} ]);
db.samples.aggregate([ { $project: { truncated: { $trunc: ["$value", -1] } } } ]);

Ausgabe

[ {_id: 1, truncated: 10}, {_id: 2, truncated: 20}, {_id: 3, truncated: 30} ]

Codebeispiele

Um ein Codebeispiel für die Verwendung des $trunc Operators anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); try { await client.connect(); const db = client.db('test'); const collection = db.collection('measurements'); const result = await collection.aggregate([ { $project: { truncated: { $trunc: ["$value", 1] } } } ]).toArray(); console.log(result); } finally { await client.close(); } } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') try: db = client['test'] collection = db['measurements'] result = list(collection.aggregate([ {'$project': {'truncated': {'$trunc': ['$value', 1]}}} ])) print(result) finally: client.close() example()