我正在使用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) 我的主机服务器需要代理才能与外界通信。它在 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