$ ersetzenEins - 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.

$ ersetzenEins

In 5.0 eingeführt

Der $replaceOne Operator in Amazon DocumentDB ist ein Operator für Zeichenkettenausdrücke, der innerhalb von Aggregationspipelines verwendet wird, um das erste Vorkommen einer angegebenen Teilzeichenfolge innerhalb einer Zeichenfolge durch eine Ersatzzeichenfolge zu ersetzen. Dieser Operator unterscheidet Groß- und Kleinschreibung und ersetzt nur die erste gefundene Übereinstimmung.

Parameter

  • input: Die Zeichenfolge (das Feld), nach der die Suche durchgeführt werden soll.

  • find: Die Zeichenfolge, nach der in der Eingabe gesucht werden soll.

  • replacement: Die Zeichenfolge, die das erste Vorkommen des Suchbegriffs in der Eingabe (Feld) ersetzen soll.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt, wie der $replaceOne Operator innerhalb einer Aggregationspipeline verwendet wird, um Teilzeichenfolgen in Produktnamen zu ersetzen.

Erstellen Sie Beispieldokumente

db.products.insertMany([ { "_id":1, "productId": "PROD-0Y9GL0", "name": "Gordon's Extra Creamy Milk Chocolate - Pack of 4", "category": "Confectionery", "price": 24.99 }, { "_id":2, "productId": "PROD-Y2E9H5", "name": "Nutrition Co. - Original Corn Flakes Cereal", "category": "Breakfast Cereals", "price": 8.50 }, { "_id":3, "productId": "PROD-Z3F8K2", "name": "Gordon's Dark Chocolate (90% Cocoa) Pack - Pack of 4", "category": "Confectionery", "price": 28.99 } ]);

Beispiel für eine Aggregation

db.products.aggregate([ { $addFields: { standardizedName: { $replaceOne: { input: "$name", find: "Pack", replacement: "Package" } } } } ]);

Ausgabe

Die Ausgabe zeigt, dass nur das erste Vorkommen von „Pack“ in jedem Produktnamen durch „Package“ ersetzt wurde.

[ { _id: 1, productId: 'PROD-0Y9GL0', name: "Gordon's Extra Creamy Milk Chocolate - Pack of 4", category: 'Confectionery', price: 24.99, standardizedName: "Gordon's Extra Creamy Milk Chocolate - Package of 4" }, { _id: 2, productId: 'PROD-Y2E9H5', name: 'Nutrition Co. - Original Corn Flakes Cereal', category: 'Breakfast Cereals', price: 8.5, standardizedName: 'Nutrition Co. - Original Corn Flakes Cereal' }, { _id: 3, productId: 'PROD-Z3F8K2', name: "Gordon's Dark Chocolate (90% Cocoa) Pack - Pack of 4", category: 'Confectionery', price: 28.99, standardizedName: "Gordon's Dark Chocolate (90% Cocoa) Package - Pack of 4" }

Codebeispiele

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

Node.js
const { MongoClient } = require('mongodb'); async function replaceOne() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('products'); const pipeline = [ { $addFields: { standardizedName: { $replaceOne: { input: '$name', find: 'Pack', replacement: 'Package' } } } } ]; const result = await collection.aggregate(pipeline).toArray(); console.log(result); await client.close(); } replaceOne();
Python
from pymongo import MongoClient def replaceOne(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['products'] pipeline = [ { '$addFields': { 'standardizedName': { '$replaceOne': { 'input': '$name', 'find': 'Pack', 'replacement': 'Package' } } } } ] result = list(collection.aggregate(pipeline)) print(result) client.close() replaceOne()