语句和动态字段名称

时间:2016-11-16 10:41:42

标签: couchbase n1ql spring-data-couchbase

我目前正在处理需要根据输入动态创建的查询。基本上在我的数据库中,我存储了一堆键/值对的映射,查询是键/值对的映射,所有键/值对都需要匹配。

我已经找到了如何使用" $ param"将N1qlQuery.parameterized()与语句和占位符值一起使用,但这对于Expression.x中的字段名不起作用( " field")子句。问题在于,虽然我的字段值对于SQL注入是安全的,但是如果我只是将用户输入的字符串值放在那里,我的字段名称就会胜出。

如何在查询中转义动态构建的字段名称?

    String fieldNameThatCanBeHacked = "fieldNameThatCanBeHacked";
    Statement statement = Select.select("*").from(CouchbaseConfig.BUCKET_NAME).where(Expression.x(fieldNameThatCanBeHacked).eq("$param");

0 个答案:

没有答案