0
我想檢索一樣,如果我給2017年2月1日0時05分46秒前兩個字符值,我應該得到類似結果MongoDB的Java驅動程序取回前兩個字符
02-01-2017 00:05:46
02-01-2017 00:05:46
02-01-2017 00:05:46
沒有串SyTime_000_09_00:00
我使用jongo庫和蒙戈驅動3.4.2
{
"_id" : ObjectId("590b70c609200535e85c6540"),
"Data" : "02-01-2017 00:05:46 SyTime_000_09_00:00 "
}
{
"_id" : ObjectId("590b70c609200535e85c6541"),
"Data" : "02-01-2017 00:05:46 DPMPow_P01_04_ 45.53 "
}
這是我曾嘗試
public class DataSource {
private MongoCollection collection;
public void DataSource() {
this.collection = (new Jongo(new
MongoClient("localhost", 27017).getDB("admin"))).getCollection("test");
}
public void guarder(Object obj) {
this.collection.save(obj);
}
public Iterable consol() {
DBObject query = new BasicDBObject();
Pattern regex = Pattern.compile("02-01-2017");
query.put("Data", regex);
return (Iterable) this.collection.find(query.toString()).as(pojo.class);
}
}
這裏是POJO類
public class pojo {
@MongoObjectId
String _id;
String Data;
public pojo() {
}
public pojo(String Data) {
this.Data = Data;
}
public String getData() {
return Data;
}
public String getId() {
return _id;
}
}
我使用JFrame的按鈕操作GUI
private void findActionPerformed(java.awt.event.ActionEvent evt) {
try{
DefaultListModel listModel = new DefaultListModel();
DataSource ds=new DataSource();
ds.DataSource();
Iterable pojo=ds.consol();
pojo p;
int i=0;
for (Iterator it=pojo.iterator();it.hasNext();){
p = (pojo)it.next();
listModel.addElement(p.getData());
}
mdata.setModel(listModel); //jlist
}catch(Exception e){
System.out.println(e);
}
}
結果
基於此示例,您希望檢索第一個空格之前的字符串。它是否正確? –
如果你使用'Pattern.compile(「02-01-2017 [0-9:] +」);'?我猜這會返回所有*條目*,並且只需要匹配,對吧? –
我想只在我的Jlist中顯示結果「02-01-2017 00:05:46」沒有字符串現在我得到了像我這樣的結果「02-01-2017 00:05:46 SyTime_000_09_00:00」你也可以看看結果圖像,我想在它到達Jlist之前進行修剪。 @WiktorStribiżew –