MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

2 начина за замяна на подниз в MongoDB

MongoDB 4.4 въведе девет нови оператора на конвейер за агрегиране, включително два нови оператора за намиране и замяна на подниз.

Двата нови оператора, които ви позволяват да намерите и замените подниз са $replaceOne и $replaceAll оператори.

Ето какво прави всеки оператор:

Оператор Описание
$replaceOne Заменя първия екземпляр на низ за търсене във входен низ със заместващ низ.
$replaceAll Заменя всички екземпляри на низ за търсене във входен низ със заместващ низ.

Единствената разлика между тези оператори е, че $replaceOne замества първия екземпляр на подниза, докато $replaceAll замества всички екземпляри на подниз.

$replaceOne Оператор

Да предположим, че имаме колекция, наречена products със следния документ:

{
	"_id" : 1,
	"product" : "Left Handed Screwdriver with Left Handed Carry Case"
}

Можем да използваме $replaceOne оператор за замяна на първия екземпляр на подниза Left Handed с друг низ:

db.products.aggregate([
   {
     $project:
      {
         product: { $replaceOne: { input: "$product", find: "Left Handed", replacement: "Ambidextrous" } }
      }
   }
]).pretty()

Резултат:

{
	"_id" : 1,
	"product" : "Ambidextrous Screwdriver with Left Handed Carry Case"
}

Забележете, че всъщност има два екземпляра на подниза (Left Handed ), но само първата инстанция беше заменена.

$replaceAll Оператор

В предишния пример заменихме първия екземпляр на подниз.

Сега нека използваме $replaceAll оператор за замяна на всички екземпляри на подниз:

db.products.aggregate([
   {
     $project:
      {
         product: { $replaceAll: { input: "$product", find: "Left Handed", replacement: "Ambidextrous" } }
      }
   }
]).pretty()

Резултат:

{
	"_id" : 1,
	"product" : "Ambidextrous Screwdriver with Ambidextrous Carry Case"
}

Този път и двата екземпляра на подниза (Left Handed ) бяха заменени.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да инсталирате и конфигурирате MongoDB на Ubuntu

  2. MongoDB срещу Касандра

  3. MongoDB различен()

  4. MongoDB не работи. ГРЕШКА:dbpath (/data/db) не съществува.

  5. Как да оптимизирате производителността на MongoDB