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

MongoDB - колекция от копия в java, без да се повтарят всички елементи

В MongoDB 2.6 беше добавен операторът за агрегиране $out, който записва резултатите от агрегирането в колекция. Това осигурява лесен начин да направите копие от страна на сървъра на всички елементи в колекция в друга колекция в същата база данни с помощта на драйвера на Java (използвах драйвер на Java версия 2.12.0):

// set up pipeline
List<DBObject> ops = new ArrayList<DBObject>();
ops.add(new BasicDBObject("$out", "target")); // writes to collection "target"

// run it
MongoClient client = new MongoClient("host");
DBCollection source = client.getDB("db").getCollection("source")
source.aggregate(ops);

Едноредовата версия:

source.aggregate(Arrays.asList((DBObject)new BasicDBObject("$out", "target")));

Според документите, за големи набори от данни (>100MB) може да искате да използвате опцията allowDiskUse (Ограничения на паметта за агрегиране), въпреки че не се сблъсках с това ограничение, когато го стартирах в колекция от>2GB, така че може да не се прилага към този конкретен конвейер, поне в 2.6.0.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ръководство за конфигуриране на Load Balancer в MongoDB Sharded Cluster

  2. Данните за актуализиране на MongoDB във вложено поле

  3. Търсене на регулярни изрази в MongoDB - Започва с използване на драйвер за javascript и NodeJS

  4. Използвайте $gte и <e оператор mongo, ако датата е в низов формат в mongodb

  5. Метеор и DBRefs