小编mat*_*rix的帖子

Spring Data MongoDB在"in"查询中失败

我正在使用spring-data-mongodb 1.8.0; MongoDB 3.0.6; mongo-java-driver 3.1.0; spring-framework.version 4.0.3.

我想要的是查询user某些电话号码列表.用户示例:{ "_id" : ObjectId("5625e5c32e1ca013a03f0d1b"), "phone" : "12345535"}

在Mongo Shell db.user.find({phone: { $in: [ "12345535", "123535"]}})工作正常.但在春天我失败了.Java类用户(省略了getter/setter):

@Document(collection = "user")
public class User {
    @Id
    String id;
    String phone;
}
Run Code Online (Sandbox Code Playgroud)

我尝试的是:

Query q = new Query(Criteria.where("phone").in("12345535","123535"));
mongoTemplate.find(q, User.class);
Run Code Online (Sandbox Code Playgroud)

它出现了错误:

Exception in thread "main" java.lang.IllegalAccessError: tried to access class org.springframework.beans.PropertyMatches from class org.springframework.data.mapping.PropertyReferenceException
    at org.springframework.data.mapping.PropertyReferenceException.detectPotentialMatches(PropertyReferenceException.java:134)
    at org.springframework.data.mapping.PropertyReferenceException.<init>(PropertyReferenceException.java:59)
    at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:75)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:327)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:307)
    at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:270)
    at org.springframework.data.mongodb.core.convert.QueryMapper$MetadataBackedField.getPath(QueryMapper.java:837)
    at org.springframework.data.mongodb.core.convert.QueryMapper$MetadataBackedField.<init>(QueryMapper.java:729)
    at org.springframework.data.mongodb.core.convert.QueryMapper$MetadataBackedField.with(QueryMapper.java:740) …
Run Code Online (Sandbox Code Playgroud)

spring mongodb spring-data-mongodb

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

在 Docker 容器内使用代理

我的主机服务器需要代理才能与外界通信。它在 env 中定义为http_proxy=http://10.10.123.123:8080 https_proxy=http://10.10.123.123:8080. 我运行一个图像tensorflow/tensorflow,容器名为tf1.

在内部tf1(通过 exec 进入容器),我想使用 pip 安装一些包,例如 grpcio 和 tensorflow-serving-api,但因网络错误而失败。

如何在容器内使用主机的代理?我尝试过 exec with -eoption 但由于 docker 版本低而失败,所以我不知道它是否有效。

操作系统:CentOS 7.2,Docker:1.12.3

http-proxy docker

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