Java zaman uyumsuz sürücüsü ile arama boru hatlarını kullanarak

oy
0

zaman uyumsuz java sürücüsü ile bir arama çalışma almak için Bağlama 2 koleksiyonlarını katılmak. Ben sözdizimi düzgün çalışması için $ arama komutunun Let (değişkenleri) sürümünü edilir hangisini kullandığına herhangi bir belge gibi Ama kullanımına doğru sözdizimi anlamaya olamaz.

Burada (ve herhangi bir eşleşme bulamazsa) neyi kullanıyor:

final List<Bson> lookUppipeline = new ArrayList<>();
final List<Variable<?>> variables = Arrays.asList(new Variable<>(id, $_id));
lookUppipeline.add(match(eq(object_id, $$id)));
final Bson lookup = lookup(values_collection, variables, lookUppipeline, tag_values);
final AggregateIterable<ApiJsonObject> findIter = info_collection.aggregate(Arrays.asList(lookup, skip(0), limit(1_000), project(exclude(EXCLUDES_LIST))));

Temel $_idolarak info_collectioneşittir object_idarasında values_collection.

Ben farklı Değişken oluşturmanız gerekir veya maç eşittir musunuz? Ben çalıştığını arama yönteminin yabancı anahtar sürümünü kullanın ama ben bunlara eklenecek başka şeyler var olarak boru hatlarını kullanmak gerekiyorsa.

senkron sürücüsünü ancak zaman uyumsuz sürücüsü ile kullanarak örnekleri vardır.

Oluştur 13/01/2020 saat 23:55
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

cevap anladım, ben agrega ile kısa elle yardımcı işlevlerini kullanamazsınız, ancak Belgeler gibi parametrelerinde geçmelidir sanırım.

Bu benim diğer arama işlevini kullanın yüzden gelemedi için ekstra eşit parametresini içerir.

final List<Variable<?>> variables = Arrays.asList(new Variable<>("key", "$_id"));
final List<Bson> pipeline = Arrays.asList(match(expr(new Document("$and",
    Arrays.asList(new Document("$eq", Arrays.asList("$object_id", "$$key")),
                  new Document("$eq", Arrays.asList("$tag", tagId)),
                  new Document("$eq", Arrays.asList("$value", value)))))),
    project(fields(include("tag_values", "_id"))));
final Bson lookup = lookup("values_collection", variables, pipeline, "tag_values");
final AggregateIterable<ApiJsonObject> findIter = info_collection.aggregate(Arrays.asList(lookup, unwind("$tag_values"), skip(0), limit(1_000), project(exclude(EXCLUDES_LIST))));
Cevap 14/01/2020 saat 20:37
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more