Nodejs无法在OrientDB

时间:2016-11-23 14:53:48

标签: node.js orientdb seneca

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'] cluster: 12, position: 37}}

我使用的查询是:

select expand (first (print ("haslogin"))) from where the Login token = 'f3a93042ee17776443458b315416bfd430cb7e7ab5f85e9f39232d1093ef7c74' and active = true

中的代码和数据库中的结果不一样

0 个答案:

没有答案