从mongodb获取数据并插入mongodb

时间:2016-10-17 09:46:52

标签: java json mongodb

我对mongoDB完全不熟悉。目前,我正在开发一个应用程序,其中有一个搜索按钮,它将搜索到mongoDB,如果存在值,那么它将返回一个JSON数据。如果没有,那么我将提供一个功能,用户可以通过该功能添加mongoDB。

BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put(URL_KEY, companyUrl);
NoticePay noticePay;
Document mongoDoc = collection.find(whereQuery).projection(fields(include(URL_KEY, NOTICE_PERIOD_KEY, PAY_SCALE_KEY), excludeId())).first();

此处,我的查询无法正常运作。

{ "_id" : ObjectId("5804926140fbe41a7c5afbf0"), "companies" : { "companyName" : "ABC", "url" : "abc.com", "noticePeriod" : 50, "payScale" : "M" } }

那么,我如何更改查询以便能够使用此json进行搜索。 以前,它使用以下形式的json

{ "_id" : ObjectId("5801dcf110227b0bcd178292"), "companyName" : "ABC ", "url" : "Abc.com", "noticekPeriod" : 60, "payScale" : "L" }

任何人都可以帮我解决这个问题吗?另外我如何使用java在mongodb中以第二种形式插入文档?提前谢谢。

1 个答案:

答案 0 :(得分:0)

  

如何更改查询以便我可以使用它进行搜索   这个json {" _id" :ObjectId(" 5804926140fbe41a7c5afbf0"),"公司"   :{" companyName" :" ABC"," url" :" abc.com"," noticePeriod" :50,   " PayScale的" :" M" }}

String URL_KEY = "companies.url";
String NOTICE_PERIOD_KEY = "companies.noticePeriod";
String PAY_SCALE_KEY = "companies.payScale";
BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put(URL_KEY, companyUrl);
NoticePay noticePay;
Document mongoDoc = collection.find(whereQuery).projection(fields(include(URL_KEY, NOTICE_PERIOD_KEY, PAY_SCALE_KEY), excludeId())).first();
  

如何使用java在mongodb中以第二种形式插入文档?

String URL_KEY = "companies.url";
String NOTICE_PERIOD_KEY = "companies.noticePeriod";
String PAY_SCALE_KEY = "companies.payScale";
BasicDBObject dbObject = new BasicDBObject();
dbObject.put("companies.companyName", companyName);
dbObject.put(URL_KEY, companyUrl);
dbObject.put(NOTICE_PERIOD_KEY, noticePeriod);
dbObject.put(PAY_SCALE_KEY, payScale);
collection.insert(dbObject);