Java - Фильтровать только совпадающий объект из списка объектов в документе Mongodb - PullRequest
0 голосов
/ 04 декабря 2018

Как фильтровать только совпадающий объект в списке объектов в mongodb Java

> db.reports.find({'productViews.productId' : {$lte: "1234"}},{"productViews" : 1})

возвращает

{ "_id" : ObjectId("5c062a2dfcd262039c7cb592"),
"productViews" : 
   [ 
    { "productId" : "1234", "views" : "2" },
    { "productId" : "3214", "views" : "34" }
   ] 
}

Приведенный выше запрос возвращает все значения массива, но я хочу толькообъект, который соответствует предоставленному объекту.Посоветуйте пожалуйста как это сделать в java

fun getProductViews(mongoDatabase: MongoDatabase) {
    val report = mongoDatabase.getCollection("reports")
    val result = report.find(Filters.lte("productViews.productId", "20"))
    print(result)
}


@Document(collection = "reports")
data class Report(

    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
    var reportId: String = Date().toString(),
    var productViews: ArrayList<ProductViews>,
    var categoryViews: ArrayList<CategoryViews>,
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...