0
var database = require('./../../models/index').database
var GError = require('./../../helper/Gerror').G_Error
var libMessage = require('./../../helper/constant')

module.exports = function (input) {
 return database.select('expand(first(in("haslogin")))')
   .from('Login').where({
     token: input.token,
     active: true
   }).one()
     .then(function (user) {
      console.log(user)
      if (!user) {
        throw GError(libMessage.error.INVALID_TOKEN)
      }
      if (user.role !== 'admin') {
        throw GError(libMessage.error.INVALID_PERMISSION)
      }
      return database.select().from('Product').where(
        '@rid = ' + input.productId
      ).one()
    }).then(function (product) {
      if (!product) {
        throw GError(libMessage.error.MISSING_PRODUCT)
      }
      return database.update('Product').set({
        status: false
      }).where('@rid = ' + input.productId)
        .scalar()
    }).then(function (data) {
      if (!data) {
        throw GError(libMessage.error.HANDLE_FAIL)
      }
      return {
        message: libMessage.success.SUCCESSFUL.message
      }
    }).then(function (success) {
      input.returnSuccessResponse(input.res, success)
    }, function (error) {
       input.returnErrorResponse(input.res, error)
    })
 }

我正在使用 nodejs 和 Seneca。我使用OrientDB数据库。我用它在 OrientDB 中扩展,但结果不如预期。

当我 console.log(用户)时,它产生了一个结果:

{'@rid': {[String: '# 12: 37'] 集群:12,位置:37}}

我使用的查询是:

选择 expand (first (print ("haslogin"))) from where the Login token = 'f3a93042ee17776443458b315416bfd430cb7e7ab5f85e9f39232d1093ef7c74' and active = true
结果在代码中和在数据库中不一样

4

0 回答 0