假设一个值包含所有窗口特殊字符,包括" - "它不能直接插入Mongo。
例如,我们是否需要在括号内传递值([...])?如何插入和检索具有特殊字符的记录。
感谢。
答案 0 :(得分:0)
MongoDB中的值可以是任何UTF-8字符串。逃避将是您的客户端计划的责任。根据您使用的客户端程序/语言驱动程序,您需要使用该语言所需的转义字符。
由于您提到您正在使用Jongo,这意味着您正在使用Java和mongo-java-driver。在Java中,您只需对要尝试使用的字符使用unicode转义序列。例如,\ u2014是em-dash字符。
例如:
DB db = new MongoClient().getDB("test");
Jongo jongo = new Jongo(db);
MongoCollection collection = jongo.getCollection("mycollection");
collection.insert("{fieldWithDash: 'x-y', fieldWithEmDash: 'x\u2014y'}");
Test test = collection.findOne("{fieldWithEmDash: 'x\u2014y'}").as(Test.class);
System.out.println(test);
答案 1 :(得分:0)
此:
MongoCollection.findOne("{ empName: # }", empName)
解决了这个问题。
查询和参数明确:
.htaccess