Help me! How to bach upsert?


#1

Vị cán bộ trúng số được nhiều người biết đến


Một vị cán bộ huyện ở Nhơn Trạch, Đồng Nai bỗng chốc trở thành chủ đề bàn tán
của người dân khi có thông tin rằng người này đã trúng số độc đắc được hơn 11
tỷ đồng. Sau đó, người dân ở đây còn cho biết thêm đây không phải là lần đầu
tiên, trước đó người này cũng đã nhiều lần trúng số https://plus.google.com/+ketquaxoso-xosome/posts/U8Xk9n3U4hh

với các giải thưởng khác nhưng vì lần này giải thưởng quá lớn nên mọi người mới rôm rả như vậy.


[IMG]
Thực hư chuyện cán bộ huyện trúng số độc đắc


Không những người dân ở huyện Nhơn Trạch mà ngay cả những người ở một số
vùng phụ cận cũng rất tò mò về thông tin vị cán bộ huyện tên L.V gặp được thần
tài, may mắn trúng số nhiều lần với tổng số tiền thưởng lên đến 15 tỷ đồng.


Hầu như những người dân ở khu vực này khi được hỏi đến danh tính của vị cán
bộ kia thì đều biết cả, mọi người còn hăng say cho biết ông L.V thường hay mua
vé số, cũng có đôi lần trúng thưởng. Nhưng những giải trước chỉ là giải nhỏ cũng
có nhiều người trúng, chỉ có đợt vừa rồi là ngoại lệ.


Đó là những câu trả lời thành thực từ phía người dân, còn khi đem chuyện này hỏi
những người đồng nghiệp trong ban lãnh đạo huyên, kể cả là Chánh văn phòng
huyện cũng tránh trả lời trực tiếp, chỉ bảo là chuyện nhà ai nhà ấy biết.
Tìm đến tận nhà vị cán bộ này thì đã gặp ngay rất nhiều người bán vé số dạo lảng
vảng quanh nhà, được biết cứ đến chiều muộn là họ lại đến đây đợi ông L.V đi
làm về để ông mua giúp ít vé số.


Những người này kể rằng vị cán bộ này số hên hơn người, thỉnh thoảng lại trúng
số. Có đợt ông trúng số https://www.scoop.it/t/xsmn-kqxsmn-sxmn-xsmnam-xo-so-mien-nam-nhanh-nhat-hom-nay/p/4097762050/2018/05/16/xsmn-kqxsmn-xsktmn-sxmn-ket-qua-xo-so-mien-nam-hom-nay-moi-nhat , ông tặng cho 20 người trúng số quanh đấy mỗi người 1
triệu đồng, riêng người bán vé số cho ông được ông hậu tạ 20 triệu. Đặc biệt, ông
L.V chỉ mua vé số giúp người nghèo, cứ hễ trời mưa, vé số ế ẩm mọi người đều
tìm đến đây nhờ ông mua giúp.



Vé số ế mang đến nhờ cán bộ mua giúp


Nhiều lần trúng số, có lần được đôi ba triệu, có lần được hơn 1 tỷ, nhưng hầu như
lần nào trúng số ông cũng bỏ ra một số tiền lớn mua gạo tặng bà con, hỗ trợ trẻ

em nghèo, giúp đỡ những gia đình có hoàn cảnh khó khăn. Người dân ở đây hầu
như ai cũng yêu quý, kính trọng và biết ơn ông.


Đến mảnh đất này mới tìm hiểu thêm được một thông tin thú vị khác nữa đó là
ngoài vị cán bộ L.V là người trúng số 

 “khủng nhất” mà ai cũng biết ra thì những người trúng giải vài trăm triệu hoặc thậm chí hơn 1 tỷ trở lên cũng nhiều
không đếm hết. Chẳng qua họ trúng số nhưng không cho ai biết, chứ không như
ông L.V dùng tiền trúng số để giúp đỡ mọi người.


#3

Hi Kullboys,

Looks like you want to go from the asynchronous world of RxJava Observables back to blocking mode so your method can return a list. There’s sample code in the Couchbase documentation for batching “get” operations. Here’s how it might look adapted for upserts:

public List<RawJsonDocument> incrementJsonIds(String generatorId,
                                              String idPrefix,
                                              List<String> contents) {
    if (contents == null) {
        return null;
    }

    // pre-allocate a chunk of IDs
    final int documentCount = contents.size();
    final AtomicLong nextId = new AtomicLong(
            bucket.counter(generatorId, documentCount, documentCount).content() - documentCount);

    return Observable.from(contents)
            .flatMap(new Func1<String, Observable<RawJsonDocument>>() {
                @Override
                public Observable<RawJsonDocument> call(String content) {
                    final String id = idPrefix + generatorId + nextId.getAndIncrement();
                    return bucket.async().upsert(RawJsonDocument.create(id, content));
                }
            })
            .toList().toBlocking().single();
}

RxJava is complicated :sweat_smile: There are some tutorials on the web; here’s one that looks nice. In part 2 the author discusses the flatMap operator, which is probably one of the most powerful (and confusing) parts of RxJava.

Thanks,
David