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

Атомарно сливане на ниво ред REPLACE в BigQuery

INSERT се поддържа от BigQuery DML

например

MERGE dataset.Inventory T
USING dataset.NewArrivals S
ON FALSE
WHEN NOT MATCHED AND product LIKE '%washer%' THEN
  INSERT (product, quantity) VALUES(product, quantity)
WHEN NOT MATCHED BY SOURCE AND product LIKE '%washer%' THEN
  DELETE   

така че трябва да сте готови да използвате вашия ETL

Добре, разбирам - мисля, че в този случай MERGE няма да се приложи, тъй като INSERT може да се направи САМО за клауза NOT MATCH. Някой може да разбере как да подмами MERGE да работи в този случай, но междувременно решението по-долу прави това, което искате да постигнете - така мисля :o)

CREATE OR REPLACE TABLE `project.dataset.user_q` (user_id INT64, q STRING) AS
SELECT * FROM `project.dataset.user_q`
WHERE NOT user_id IN (SELECT DISTINCT user_id FROM `project.dataset.user_q_incoming`)
UNION ALL
SELECT * FROM `project.dataset.user_q_incoming`
WHERE user_id IN (SELECT DISTINCT user_id FROM `project.dataset.user_q`)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Пример за транзакция в MongoDB 4.0 с помощта на PHP

  2. cappedMax не работи в winston-mongodb logger в Node.js на Ubuntu

  3. Динамични атрибути с Rails и Mongoid

  4. Как да сортирате и ограничите резултатите в mongodb?

  5. Показване на резултатите от GET заявката в браузър с помощта на NodeJS