小编sta*_*aru的帖子

查找集合中的元素,其中元素具有列表的字段,并且给定值必须属于列表

我想查询我的集合中的对象,例如给定值必须属于stringArray中的值

stringArray是包含字符串列表的每个Obejct的字段名称

我在mongodb收藏的结构是

Object1
{
  field1
  field2
  stringArray[2] 
        0     String0
        1     String1
}

Object2
{
  field1
  field2
  stringArray[3] 
        0     String0
        1     String1
        2     String2
}
Run Code Online (Sandbox Code Playgroud)

}

我的查询是:

     Query query = new Query();
     query.addCriteria(
            Criteria.where(theValueIamlookingFor).in("stringArray")                
     );               
    return mongoTemplate.find(query, myObject.class);
Run Code Online (Sandbox Code Playgroud)

到目前为止,它还没有奏效.

有任何想法吗 ?

spring criteria mongodb mongotemplate

8
推荐指数
1
解决办法
7423
查看次数

primefaces:actionListener和重定向同时进行

我想点击一下

   <p:commandButton>
Run Code Online (Sandbox Code Playgroud)

,调用用于处理的Bean,同时应将页面重定向到另一个页面.

换句话说,我想结合:

<p:commandButton actionListener="#{processBean.process}" >
</p:commandButton> 
Run Code Online (Sandbox Code Playgroud)

和:

<h:link outcome="redirection"> 
</h:link>
Run Code Online (Sandbox Code Playgroud)

在faces-config.xml中配置"重定向"

我应该怎么做 ?有没有更好的方法来实现这一目标?

java primefaces

6
推荐指数
1
解决办法
7355
查看次数

在executeBatch()之后需要connection.commit()吗?

我必须检查一位同事的代码,我偶然发现了这段代码:

private void pdate(JdbcTemplate jdbcTemplate, List<Long> saisineIdsToUpdate,Connection connection) throws SQLException {
    String sqlUpdate = "UPDATE SAISINES SAI WHERE SAI.IDSAISINE = ?"; //request simplified

    PreparedStatement psUpdate = connection.prepareStatement(sqlUpdate);

    for (Long saisineId : saisineIdsToUpdate) {
        psUpdate.setLong(1, saisineId );
        psUpdate.addBatch();

    }
    psUpdate.executeBatch();
    psUpdate.close();
Run Code Online (Sandbox Code Playgroud)

代码工作,更新正确完成,但我找不到一个connection.commit(); 我不知道它如何工作没有提交的痕迹- 有人可以解释为什么?

java prepared-statement

5
推荐指数
1
解决办法
5772
查看次数

如果自动提交设置为 true,我的批处理是否真的按预期执行?

我正在发出请求 SQL 来提交一些更新。更新已完成且良好,但我想知道批处理是否正确执行,即语句是一次性提交的还是语句一个接一个地执行?这是因为自动提交被隐式设置为 true,我想知道为了使批处理作为真正的“批处理”执行,我是否必须将其设置为 false。

这是一个与此相关的问题:

在executeBatch()之后我需要一个connection.commit()吗?

代码是:

private void pdate(JdbcTemplate jdbcTemplate, List<Long> saisineIdsToUpdate,Connection connection) throws SQLException {
   String sqlUpdate = "UPDATE SAISINES SAI WHERE SAI.IDSAISINE = ?"; //request simplified

   PreparedStatement psUpdate = connection.prepareStatement(sqlUpdate);

   for (Long saisineId : saisineIdsToUpdate) {
      psUpdate.setLong(1, saisineId );
      psUpdate.addBatch();
   }

   psUpdate.executeBatch();
   psUpdate.close();

}
Run Code Online (Sandbox Code Playgroud)

java transactions jdbc prepared-statement

5
推荐指数
2
解决办法
4851
查看次数

在 elixir 项目 (elixirLS.projectDir) 中保存文件时出错

使用 Visual Studio 代码保存 elixir 文件时出现以下错误

在项目中找不到 mixfile。要使用子目录,请 elixirLS.projectDir在您的设置中设置

因此,我更新了 User/settings.json(在 Windows 中)文件,例如

{
    "elixirLS.projectDir": "C:\\CodeTraining\\Elixir-intro"
}
Run Code Online (Sandbox Code Playgroud)

但我仍然收到错误

任何的想法 ?

顺便说一句,我在使用 Ubuntu 时遇到了同样的错误。

elixir

4
推荐指数
1
解决办法
2025
查看次数

Sails.js发送后无法设置标头

我正在使用sailsjs v0.10.5.

我在验证用户电子邮件之后尝试重定向到登录,并在重定向之前更新数据库.

我在更新回调中使用重定向.但它在更新数据库后发送错误

'Cant send headers after they are sent'. 
Run Code Online (Sandbox Code Playgroud)

以下是用于重定向的代码:

verifyEmail: function(req, res){
var userId = req.param('userId');
User.update({id: userId},{isVerified: true}).exec(function(err, user) {
  if (!err) { 
      req.flash('error', 'Your email is verified please login');
      res.redirect('/login'); }else { return res.send(user, 400); }
  });
Run Code Online (Sandbox Code Playgroud)

callback http-headers sails.js

2
推荐指数
1
解决办法
3119
查看次数

查询mongodb和泛型

我正在使用spring mongoDB,我想使用泛型编写查询,例如

@Override
public  <T extends Common> T find(T t)
{
    return mongoTemplate.findById(t.getId(), Common.class);
}
Run Code Online (Sandbox Code Playgroud)

但是,这给了我一个错误,我无法使用

@Override
public  <T extends Common> T find(T t)
{
    return mongoTemplate.findById(t.getId(), T.class);
}
Run Code Online (Sandbox Code Playgroud)

所以我被困住了.

任何提示?

java generics mongodb

1
推荐指数
1
解决办法
860
查看次数

枚举不提供预期的结果

我在A类中定义了一个枚举

public class A{

     public static final String CANDY = "yelow candy";
     public static final String CAKE = "cookie";

    public enum Yummy{
         CANDY, CAKE; 
    }

}
Run Code Online (Sandbox Code Playgroud)

在另一个包中,

public class C {

   Yummy[] yummies = A.Yummy.values();

   for (Yummy yum : yummies){
          String yumString = yum.toString();
          System.out.println("yum =" + yumString);
   }
Run Code Online (Sandbox Code Playgroud)

}

我得到了CANDY和CAKE,而不是"yelow candy"和"cookie".我需要改变什么来获得"黄色糖果"和"饼干?

java enums

0
推荐指数
1
解决办法
80
查看次数