如何使用 Orientjs 构建或喜欢查询?

How to build or like query using Orientjs?

我正在开发简单的查询生成器,它将用于生成 orientdb 查询。 Orientjs 有 statement.js 可以用来生成查询,但我不确定我们是否可以用来生成所有类型的查询。

例如:

select * from Employee where (FirstName like "A%" or FirstName like "B%") and (LastName like "G%" or LastName like "F%")

我尝试了不同的选项来使用 orientjs 语句生成上述查询,但无法生成。另外,我们如何生成查询以使用 insert, select query?

复制记录

statement.js是否支持生成此类查询?

对于复杂的 where 子句,您可以只使用原始字符串:

db.select()
  .from('Employee')
  .where('(FirstName like "A%" or FirstName like "B%") and (LastName like "G%" or LastName like "F%")').all();

要使用 select / insert 创建一个顶点的副本,您可以通过 db.let 函数创建一个交易,例如

return this.db
    .let('original', (c) => {
        c.select()
        .from('Employee')
        .where('(FirstName like "A%" or FirstName like "B%") and (LastName like "G%" or LastName like "F%")')
        })
     .let('copy', (c) => {c
         .create('vertex','Employee')
         .set('FirstName = $original[0].FirstName')
         .set('LastName = $original[0].LastName')
          })
    .commit()
    .return('$copy')
    .one();