मैंने इसे जाने का फैसला किया। मेरे पास डेटाबेस रखने वाले दस्तावेज़ हैं जो किसी व्यक्ति का वर्णन करते हैं।
रखो JSON बनाएं में अपने दस्तावेज़ों रखो यहां मोटे तौर पर कोड कैसा दिख सकता है।
नोट: ब्रेवटी के लिए छोड़े गए/प्रयास करें! बेशक आप उन्हें उपयोग करने की उम्मीद है।
public static void main(String[] args) {
// You could also use a List and then convert it to an array
Document[] docs = new Document[2];
docs[0] = new Person("John", "Smith", 34);
docs[1] = new Person("Jane", "Smith", 30);
DefaultHttpClient httpClient = new DefaultHttpClient();
// Note the _bulk_docs
HttpPost post = new HttpPost("http://127.0.0.1:5984/persons/_bulk_docs");
Gson gson = new Gson();
StringEntity data =
new StringEntity("{ \"docs\": " + gson.toJson(docs) + "}");
data.setContentType("application/json");
post.setEntity(data);
HttpResponse response = httpClient.execute(post);
if (response.getStatusLine().getStatusCode() != 201) {
throw new RuntimeException("Failed. HTTP error code: "
+ response.getStatusLine().getStatusCode());
}
BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent())));
String output;
while ((output = br.readLine()) != null) {
System.out.println(output);
}
httpClient.getConnectionManager().shutdown();
}
मैं इस उदाहरण में दो उल्लेखनीय भागों का वर्णन करेंगे।
पहला दस्तावेज संग्रह का संग्रह है। इस मामले में मैंने उदाहरण के लिए List
के बजाय एक सरणी का उपयोग किया था।
Document[] docs = new Document[2];
docs[0] = new Person("John", "Smith", 34);
docs[1] = new Person("Jane", "Smith", 30);
साथ ही आप एक List
का उपयोग करें और बाद में इसे एक सरणी में बदलने जावा की उपयोगिता तरीकों का उपयोग कर सकता है।
दूसरा एक StringEntity
है। एक अनुरोध के साथ कई दस्तावेजों को संशोधित करने के लिए HTTP Bulk Document API पर कॉच डीबी के दस्तावेज के अनुसार आपके अनुरोध निकाय की जेएसओएन संरचना इस तरह दिखनी चाहिए।
{
"docs": [
DOCUMENT,
DOCUMENT,
DOCUMENT
]
}
यह कुछ हद तक बदसूरत StringEntity
परिभाषा का कारण है।
StringEntity data = new StringEntity("{ \"docs\": " + gson.toJson(docs) + "}");
एक प्रतिक्रिया आप वस्तुओं जिसका क्षेत्रों * _ id * प्रतिनिधित्व करते हैं और एक सौदे स्थिति संकेतक के साथ डाला दस्तावेज़ के * _rev * युक्त एक JSON सारणी मिल जाएगा के रूप में।
लाइटकॉच एपीआई में बचत बल्क समर्थित नहीं है, हालांकि यह अगली रिलीज में योजनाबद्ध है। – ahmedyha
यदि यह एक शो स्टॉपर है तो आप एक निबंध लिखने के लिए – skipy