$ Sostituisci uno - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

$ Sostituisci uno

Introdotto nella 5.0

L'$replaceOneoperatore in Amazon DocumentDB è un operatore di espressione di stringa utilizzato nelle pipeline di aggregazione per sostituire la prima occorrenza di una sottostringa specificata all'interno di una stringa con una stringa sostitutiva. Questo operatore fa distinzione tra maiuscole e minuscole e sostituisce solo la prima corrispondenza trovata.

Parametri

  • input: La stringa (campo) su cui eseguire la ricerca.

  • find: La stringa da cercare all'interno dell'input.

  • replacement: La stringa che sostituisce la prima occorrenza della ricerca nell'input (campo).

Esempio (MongoDB Shell)

L'esempio seguente mostra come utilizzare l'$replaceOneoperatore all'interno di una pipeline di aggregazione per sostituire le sottostringhe nei nomi dei prodotti.

Crea documenti di esempio

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 } ]);

Esempio di aggregazione

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

Output

L'output mostra che solo la prima occorrenza di «Pack» in ogni nome di prodotto è stata sostituita con «Package».

[ { _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" }

Esempi di codice

Per visualizzare un esempio di codice per l'utilizzo del $replaceOne comando, scegli la scheda relativa alla lingua che desideri utilizzare:

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()