我有两个域对象,
@Document
public class PracticeQuestion {
private int userId;
private List<Question> questions;
// Getters and setters
}
@Document
public class Question {
private int questionID;
private String type;
// Getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我的JSON文档是这样的,
{
"_id" : ObjectId("506d9c0ce4b005cb478c2e97"),
"userId" : 1,
"questions" : [
{
"questionID" : 1,
"type" : "optional"
},
{
"questionID" : 3,
"type" : "mandatory"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我必须更新基于userId和questionId的"类型",所以我在自定义Repository接口中编写了一个findBy查询方法,
public interface CustomRepository extends MongoRepository<PracticeQuestion, String> {
List<PracticeQuestion> findByUserIdAndQuestionsQuestionID(int userId,int questionID);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是当我执行此方法时userId为1而questionID为3,它返回整个问题列表而不管questionID.查询方法名称是有效的,还是应该如何为嵌套对象编写查询.
谢谢你的任何建议.
Google 的 reCAPTCHA 是特定于域的,因此在 Github 的电子应用程序中使用时,会出现以下错误ERROR for site owner: Invalid domain for site key。
可能是因为在电子应用程序中,文件是通过file:///协议加载的,因此在加载验证码时不会发送引用标头。我正在用来electron ./运行该应用程序。
有没有在电子应用程序中加载 reCAPTCHA 的解决方案?
我为spring-web app添加了基于自定义令牌的身份验证,并为spring websocket扩展了相同的身份验证,如下所示
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic", "/queue");
config.setApplicationDestinationPrefixes("/app");
config.setUserDestinationPrefix("/user");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/gs-guide-websocket").setAllowedOrigins("*").withSockJS();
}
@Override
public void configureClientInboundChannel(ChannelRegistration registration) {
registration.setInterceptors(new ChannelInterceptorAdapter() {
@Override
public Message<?> preSend(Message<?> message, MessageChannel channel) {
StompHeaderAccessor accessor =
MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
if (StompCommand.CONNECT.equals(accessor.getCommand())) {
String jwtToken = accessor.getFirstNativeHeader("Auth-Token");
if (!StringUtils.isEmpty(jwtToken)) {
Authentication auth = tokenService.retrieveUserAuthToken(jwtToken);
SecurityContextHolder.getContext().setAuthentication(auth);
accessor.setUser(auth);
//for Auth-Token '12345token' the user name is 'user1' as auth.getName() returns 'user1'
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个文本框
HTML
<input type="text" id="lat" placeholder="Latitude" ng-lat value="9°">
Run Code Online (Sandbox Code Playgroud)
它工作正常,因为它完美地显示度数符号,但当我尝试通过jquery设置值时
jQuery的
$("#lat").val("9°")
它显示整个文本而不是度数符号.
在我的数据库中,我有一个看起来像这样的文档
{
"_id" : ObjectId("5864ddd8e38112fd70b89893"),
"_class" : "com.apic.models.UserReg",
"name" : "Bijay",
"email" : "apic.apps@gmail.com",
"psd" : "16d932a5a3da90cc6afd831016b5a6821f0badf7e2c624159205924433613c3a",
"activationToken" : "fe8376ea2dbdf61ebc0f11a2361d741ba3178362d5bf876cf47e6a126bc5b39c",
"verified" : false
}
Run Code Online (Sandbox Code Playgroud)
我也有一个看起来像这样的豆子
public class User {
@Id
private int id;
private String name;
private String email;
// getter/setter methods
}
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试调用save()方法时MongoOperations,它会替换所有缺少的属性,如psd,verified和activationToken.
mongoOperations.save(user, COLLECTION);
Run Code Online (Sandbox Code Playgroud)
有什么方法可以更新我的模型类中的现有属性并保留其他属性吗?
我是Spring数据和mongodb的新手.我有一个表示JSON模式的JSON对象,我需要使用spring数据将其存储在mongodb中.但JSON模式的问题是JSON Schema的结构是动态的; 例如,下面是两个有效结构完全不同的JSON模式.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 10
},
"age": {
"type": "integer"
}
},
"required": [
"name",
"age"
]
}
Run Code Online (Sandbox Code Playgroud)
{
"type": "array",
"items": {
"type": "object",
"properties": {
"abc": {
"type": "boolean"
},
"xyz": {
"$ref": "#/definitions/"
},
"asd": {
"type": "null"
}
},
"required": [
"abc",
"xyz"
]
}
}
Run Code Online (Sandbox Code Playgroud)
如何定义JAVA POJO类,以便我可以将上面的JSON映射到已定义的类并将其存储在mongodb中.或者是否可以在Spring中进行CURD操作而不将其映射到POJO类?
我有一个记录列表,例如
[
{"id":"1", "name":"a", "user":"u1"},
{"id":"2", "name":"b", "user":"u1"},
{"id":"3", "name":"c", "user":"u1"}
]
Run Code Online (Sandbox Code Playgroud)
现在根据条目是否已经存在于数据库中,它应该更新或插入文档。对于更新,存在一个条件,即现有user字段的值应与user文档中提供的值相匹配。
当然我可以循环运行列表并使用
mongoOperations.save(...);
Run Code Online (Sandbox Code Playgroud)
但是如果我有一个很大的列表,那么我将不得不为每个条目执行一个我认为效率不高的数据库操作。有没有其他有效的方法来执行此操作?
spring mongodb spring-mongo spring-data-mongodb spring-mongodb
我有一个使用 SockJs 启用 Websocket 的 Spring Boot 应用程序。一切正常,但它一直在控制台中记录以下消息。
2017-09-19 11:04:48.164 INFO 8856 --- [MessageBroker-4] o.s.w.s.c.WebSocketMessageBrokerStats : WebSocketSession[1 current WS(1)-HttpStream(0)-HttpPoll(0), 3 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(3)-CONNECTED(3)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 45], outboundChannelpool size = 0, active threads = 0, queued tasks = 0, completed tasks = 22], sockJsScheduler[pool size = 4, active threads = 1, queued tasks = 2, …Run Code Online (Sandbox Code Playgroud) 我有一份文件如下所示
{
"_id" : ObjectId("5864ddd8e38112fd70b89893"),
"_class" : "com.apic.models.UserReg",
"name" : "xxx",
"email" : "xxx.xxx@xxx.com"
"activationToken" : "fe8376ea2dbdf61ebc"
}
Run Code Online (Sandbox Code Playgroud)
如何activationToken使用Spring从中删除属性MongoTemplate?
在cordova中创建自定义插件时,execute方法的返回类型为Boolean,但对于我的应用程序,我希望返回一些可以在javascript中使用的String类型。但是由于返回类型是布尔型,所以我不能这样做。
有什么办法可以从该execute方法返回一些值?
我有一个应用程序,我在其中使用以下命令从控制器返回动态HttpStatus代码: ResponseEntity
return new ResponseEntity<String>("Unrecognised request.", HttpStatus.BAD_REQUEST);
Run Code Online (Sandbox Code Playgroud)
下一个要求是将从数据库加载响应主体和状态代码。代码看起来像
String msg = <<loaded from database>>;
String status = <<loaded from database>>; //type can be changed to int
return new ResponseEntity<String>(msg, <..what to do here ??..>);
Run Code Online (Sandbox Code Playgroud)
不是状态代码将作为字符串/整数从数据库中检索。由于HttpStatus是一个枚举,所以我没有找到其他方法来做到这一点。
我的要求有解决方案吗?
mongodb ×5
spring ×5
java ×4
spring-data ×4
ascii ×1
cordova ×1
electron ×1
findby ×1
html5 ×1
javascript ×1
jquery ×1
jsonschema ×1
logging ×1
recaptcha ×1
sockjs ×1
spring-boot ×1
spring-mongo ×1
spring-web ×1