Nexus 3查询构建器如何按降序检索伪像 [英] Nexus 3 Query builder how to retrieve artefacts in descending order

查看:54
本文介绍了Nexus 3查询构建器如何按降序检索伪像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法按日期降序检索人工制品?

Is there a way we can retrieve artefacts in date descending order?

我目前以以下脚本为例:

I currently have below script here as an example:

import org.sonatype.nexus.repository.storage.Asset
import org.sonatype.nexus.repository.storage.Query
import org.sonatype.nexus.repository.storage.StorageFacet

import groovy.json.JsonOutput
import groovy.json.JsonSlurper

def request = new JsonSlurper().parseText(args)
assert request.groupId: 'groupId parameter is required'
assert request.repoName: 'repoName parameter is required'
assert request.startDate: 'startDate parameter is required, format: yyyy-mm-dd'

log.info("Gathering Asset list for repository: ${request.repoName} as of startDate: ${request.startDate}")

def repo = repository.repositoryManager.get(request.repoName)
StorageFacet storageFacet = repo.facet(StorageFacet)
def tx = storageFacet.txSupplier().get()

tx.begin()

Iterable<Asset> assets = tx.
    findAssets(Query.builder()
      .where('group = ').param(request.groupId)
      .and('last_updated > ').param(request.startDate)
      .build(), [repo])
def urls = assets.collect { "/repository/${repo.name}/${it.name()}" }

tx.commit()

def result = JsonOutput.toJson([
    assets  : urls,
    since   : request.startDate,
    repoName: request.repoName
])
return result

具有:

Query.builder()
          .where('group = ').param(request.groupId)
          .and('last_updated > ').param(request.startDate)
          .build()
def urls = assets.collect { "/repository/${repo.name}/${it.name()}" }

有没有一种方法可以更改上面的脚本以按日期降序检索内容?

Is there a way we can change above script to retrieve things in date descending order?

推荐答案

您只需添加后缀即可.

Query.builder()
          .where('group = ').param(request.groupId)
          .and('last_updated > ').param(request.startDate)
          .suffix('order by last_updated desc')
          .build()
def urls = assets.collect { "/repository/${repo.name}/${it.name()}" }

Nexus在后台使用OrientDB.您可以在此处找到查询示例: https://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-SQL.html

Nexus is using OrientDB behind the scene. You can find query examples here: https://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-SQL.html

这篇关于Nexus 3查询构建器如何按降序检索伪像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆