nodejs-cassandra不会插入整数

我已经尝试了很多东西来得到这个固定的,但总是似乎导致了一个或另一个错误。

下面是我用来执行INSERT查询的代码。

req.client.execute("INSERT INTO users (id,username,email,password,userFolder) VALUES (now(),'"+newUser.username+"','"+newUser.email+"','"+newUser.password+"',"+newUser.userFolder+");",function(err,result){ if(err){ console.log(err.message) }else{ console.log("New user created") } }); 

newUser.userFolder在数组中简单地定义为new Date().getTime()

ive尝试做parseInt(userFolder: new Date().getTime()); 但似乎总是导致这个错误

另外,如果您尝试Number(userFolder :new Data().getTime()); 它也不起作用,并导致下面的第二个错误;

我尝试的另一件事是简单地inputnewUser.userFolder.valueOf()这也导致第二个错误。

 Invalid STRING constant (1443827057269) for "userfolder" of type int 

要么

 Unable to make int from '1443827264655' 

我有一种感觉,因为这个数字是在这之前造成的。 但我不知道如何删除这个。

我试图直接input数字,而不使用数组,它工作正常,所以variables必须导致这个问题。

我基本上从MySQL迁移到卡桑德拉,并有这个项目的最后期限,所以任何帮助,将不胜感激。

顺便说一下使用datastax驱动程序的节点-JS

 req.client.execute("INSERT INTO users (id,username,email,password,userFolder) VALUES (now(), :username, :email, :userFolder)", newUser, {prepare: true }, function(err,result) { if(err){ console.log(err.message) }else{ console.log("New user created") } }); 

现在有一些细节:

  1. 而不是通过连接值创build一个CQLstring,上面的代码创build一个参数化查询
  2. 查询中的参数是通过newUser对象的名称(例如username )来newUser 。 参数的名称必须与对象中的属性完全相同。

    有一个选项可以使用? 而不是位置参数,然后你可以将它们的值传递给一个数组:

     req.client.execute("INSERT INTO users (id,username,email,password,userFolder) VALUES (now(), ?, ?, ?)", [newUser.username, newUser.password, newUser.userFolder], ... 
  3. {prepare: true}告诉客户准备这个语句,如果它多次使用,那么它优化了它的执行和参数的传输

最后但并非最不重要的是,请不要将密码保存清楚。