{"id":50707,"date":"2023-09-30T10:19:52","date_gmt":"2022-11-20T21:24:26","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/"},"modified":"2024-01-15T13:16:16","modified_gmt":"2024-01-15T05:16:16","slug":"mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/","title":{"rendered":"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b"},"content":{"rendered":"<p>\u6b22\u8fce\u6765\u5230MongoDB Java\u793a\u4f8b\u6559\u7a0b\u3002\u4e4b\u524d\u6211\u4eec\u5b66\u4e60\u4e86\u5982\u4f55\u5728Unix\u673a\u5668\u4e0a\u5b89\u88c5MongoDB\u5e76\u5728\u7ec8\u7aef\u4e0a\u6267\u884c\u4e86\u4e00\u4e9b\u547d\u4ee4\u3002\u4eca\u5929\u6211\u4eec\u5c06\u4e86\u89e3MongoDB Java\u9a71\u52a8\u7a0b\u5e8f\u7684\u529f\u80fd\u4ee5\u53ca\u5982\u4f55\u6267\u884c\u5e38\u89c1\u7684CRUD\uff08\u521b\u5efa\u3001\u8bfb\u53d6\u3001\u66f4\u65b0\u3001\u5220\u9664\uff09\u64cd\u4f5c\u3002<\/p>\n<h2>MongoDB \u5728 Java \u4e2d\u7684\u4f7f\u7528<\/h2>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u4e0b\u8f7dMongoDB Java\u9a71\u52a8\u7a0b\u5e8f<\/ol>\n<\/li>\n<\/ol>\n<p>\u521b\u5efaMongoDB Java\u8fde\u63a5<\/p>\n<p>\u8fde\u63a5\u5230MongoDB\u6570\u636e\u5e93<\/p>\n<p>MongoDB\u548c\u96c6\u5408<\/p>\n<p>MongoDB Java\u793a\u4f8b<\/p>\n<p>\u5982\u679c\u60a8\u6709Maven\u9879\u76ee\uff0c\u53ea\u9700\u6dfb\u52a0\u4ee5\u4e0b\u4f9d\u8d56\u9879\u4ee5\u5c06MongoDB Java\u9a71\u52a8\u7a0b\u5e8f\u5305\u542b\u5230\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u4e2d\u3002<\/p>\n<p>org.mongodb<br \/>\nmongo-java-driver<br \/>\n2.12.3<\/p>\n<p>\u5982\u679c\u60a8\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u9879\u76ee\uff0c\u60a8\u53ef\u4ee5\u4ece\u6b64\u94fe\u63a5\u4e0b\u8f7dMongoDB Java\u9a71\u52a8\u7a0b\u5e8f\u5e76\u5c06\u5176\u5305\u542b\u5728\u60a8\u7684\u9879\u76ee\u6784\u5efa\u8def\u5f84\u4e2d\u3002\u73b0\u5728\u8ba9\u6211\u4eec\u6765\u770b\u4e00\u4e0bMongoDB Java\u9a71\u52a8\u7a0b\u5e8f\u7684\u4e00\u4e9b\u57fa\u672c\u7528\u6cd5\uff0c\u7136\u540e\u6211\u4eec\u5c06\u67e5\u770bCRUD\u64cd\u4f5c\u7684MongoDB Java\u793a\u4f8b\u7a0b\u5e8f\u3002<\/p>\n<p>\u521b\u5efaMongoDB Java\u8fde\u63a5<br \/>\nMongoClient\u662f\u6211\u4eec\u7684Java\u7a0b\u5e8f\u4e0eMongoDB\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u63a5\u53e3\u3002MongoClient\u7528\u4e8e\u521b\u5efa\u8fde\u63a5\uff0c\u8fde\u63a5\u5230\u6570\u636e\u5e93\uff0c\u68c0\u7d22\u96c6\u5408\u540d\u79f0\u4ee5\u53ca\u521b\u5efa\/\u8bfb\u53d6\/\u66f4\u65b0\/\u5220\u9664\u6570\u636e\u5e93\u3001\u96c6\u5408\u3001\u6587\u6863\u7b49\u3002\u6211\u6700\u559c\u6b22\u7684\u4e00\u4e2aMongoDB Java\u9a71\u52a8\u7a0b\u5e8f\u529f\u80fd\u662f\u5b83\u662f\u7ebf\u7a0b\u5b89\u5168\u7684\uff0c\u56e0\u6b64\u6211\u4eec\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2aMongoClient\u5b9e\u4f8b\u5e76\u91cd\u7528\u5b83\u3002\u5373\u4f7f\u591a\u4e2a\u7ebf\u7a0b\u540c\u65f6\u8bbf\u95ee\u5b83\uff0c\u5b83\u4e5f\u4f1a\u4ece\u5185\u90e8\u7684\u8fde\u63a5\u6c60\u4e2d\u8fd4\u56de\u4e00\u4e2a\u8fde\u63a5\u3002\u5bf9\u4e8e\u5bf9\u6570\u636e\u5e93\u7684\u6bcf\u4e2a\u8bf7\u6c42\uff08\u67e5\u627e\u3001\u63d2\u5165\u7b49\uff09\uff0cJava\u7ebf\u7a0b\u5c06\u4ece\u6c60\u4e2d\u83b7\u53d6\u4e00\u4e2a\u8fde\u63a5\uff0c\u6267\u884c\u64cd\u4f5c\uff0c\u7136\u540e\u91ca\u653e\u8fde\u63a5\u3002\u8fd9\u610f\u5473\u7740\u6bcf\u6b21\u4f7f\u7528\u7684\u8fde\u63a5\uff08\u5957\u63a5\u5b57\uff09\u53ef\u80fd\u662f\u4e0d\u540c\u7684\u3002\u4e0b\u9762\u662f\u4e00\u4e9b\u8fde\u63a5\u5230MongoDB\u670d\u52a1\u5668\u7684\u5e38\u89c1\u65b9\u6cd5\u3002<br \/>\nMongoClient mongoClient = new MongoClient(); \/\/\u8fde\u63a5\u5230\u9ed8\u8ba4\u4e3b\u673a\u548c\u7aef\u53e3\uff0c\u5373127.0.0.1:27017<br \/>\n\/\/ \u6216\u8005<br \/>\nMongoClient mongoClient = new MongoClient(&#8220;localhost&#8221;); \/\/\u8fde\u63a5\u5230\u9ed8\u8ba4\u7aef\u53e3\uff0c\u537327017<br \/>\n\/\/ \u6216\u8005<br \/>\nMongoClient mongoClient = new MongoClient(&#8220;localhost&#8221;, 27017); \/\/\u5e94\u59cb\u7ec8\u4f7f\u7528\u6b64\u9009\u9879<\/p>\n<p>\/\/ \u6216\u8005\uff0c\u8fde\u63a5\u5230\u4e00\u4e2a\u526f\u672c\u96c6\uff0c\u5e76\u81ea\u52a8\u53d1\u73b0\u4e3b\u670d\u52a1\u5668<br \/>\nMongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress(&#8220;localhost&#8221;, 27017),<br \/>\nnew ServerAddress(&#8220;localhost&#8221;, 27018),<br \/>\nnew ServerAddress(&#8220;localhost&#8221;, 27019)));<\/p>\n<p>\u8fde\u63a5\u5230MongoDB\u6570\u636e\u5e93<br \/>\n\u4e00\u65e6\u6211\u4eec\u83b7\u5f97\u4e86\u4e0eMongoDB\u670d\u52a1\u5668\u7684\u8fde\u63a5\uff0c\u4e0b\u4e00\u6b65\u662f\u521b\u5efa\u4e0e\u6570\u636e\u5e93\u7684\u8fde\u63a5\uff0c\u5982\u4e0b\u6240\u793a\u3002\u8bf7\u6ce8\u610f\uff0c\u5982\u679c\u6570\u636e\u5e93\u4e0d\u5b58\u5728\uff0cMongoDB\u4f1a\u4e3a\u60a8\u521b\u5efa\u5b83\u3002<br \/>\nMongoClient mongo = new MongoClient(&#8220;localhost&#8221;, 27017);<br \/>\nDB db = mongo.getDB(&#8220;journaldev&#8221;);<\/p>\n<p>MongoClient\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6709\u7528\u7684\u65b9\u6cd5\u6765\u83b7\u53d6\u6240\u6709\u6570\u636e\u5e93\u7684\u540d\u79f0\uff0c\u5982\u4e0b\u6240\u793a\u3002<br \/>\nMongoClient mongo = new MongoClient(&#8220;localhost&#8221;, 27017);<br \/>\nList dbs = mongo.getDatabaseNames();<br \/>\nSystem.out.println(dbs); \/\/ [journaldev, local, admin]<\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u4f7f\u7528\u57fa\u4e8e\u7528\u6237\u540d\u548c\u5bc6\u7801\u7684\u8eab\u4efd\u9a8c\u8bc1\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u9700\u8981\u63d0\u4f9b\u6388\u6743\u51ed\u636e\uff0c\u5982\u4e0b\u6240\u793a\u3002<br \/>\nMongoCredential journaldevAuth = MongoCredential.createPlainCredential(&#8220;pankaj&#8221;, &#8220;journaldev&#8221;, &#8220;pankaj123&#8221;.toCharArray());<br \/>\nMongoCredential testAuth = MongoCredential.createPlainCredential(&#8220;pankaj&#8221;, &#8220;test&#8221;, &#8220;pankaj123&#8221;.toCharArray());<br \/>\nList auths = new ArrayList();<br \/>\nauths.add(journaldevAuth);<br \/>\nauths.add(testAuth);<\/p>\n<p>ServerAddress serverAddress = new ServerAddress(&#8220;localhost&#8221;, 27017);<br \/>\nMongoClient mongo = new MongoClient(serverAddress, auths);<\/p>\n<p>\u5982\u679c\u60a8\u4f7f\u7528\u7684\u662f\u8f83\u65e7\u7684\u7248\u672c\uff0c\u60a8\u9700\u8981\u5728\u83b7\u53d6\u6570\u636e\u5e93\u5bf9\u8c61\u540e\u63d0\u4f9b\u8eab\u4efd\u9a8c\u8bc1\u8be6\u7ec6\u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\u3002<br \/>\nMongoClient mongo = new MongoClient(&#8220;localhost&#8221;, 27017);<br \/>\nDB db = mongo.getDB(&#8220;journaldev&#8221;);<br \/>\nboolean auth = db.authenticate(&#8220;pankaj&#8221;, &#8220;pankaj123&#8221;.toCharArray());<\/p>\n<p>\u60a8\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u53d1\u73b0\u4e4b\u524d\u7684\u65b9\u6cd5\u4e2d\u7684\u7f3a\u9677\uff0c\u8eab\u4efd\u9a8c\u8bc1\u5e94\u8be5\u5728\u65e9\u671f\u9636\u6bb5\u5b8c\u6210\uff0c\u56e0\u4e3a\u6211\u4eec\u65e0\u6cd5\u4ece\u4e2d\u6062\u590d\u3002\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528MongoClient\u7684dropDatabase(String db)\u65b9\u6cd5\u6216DB\u7684dropDatabase()\u65b9\u6cd5\u6765\u5220\u9664\u6570\u636e\u5e93\u3002\u7531\u4e8e\u6211\u4eec\u6b63\u5728\u5220\u9664\u6570\u636e\u5e93\uff0c\u6211\u66f4\u559c\u6b22\u4f7f\u7528MongoClient\u65b9\u6cd5\u3002<\/p>\n<p>MongoDB\u548c\u96c6\u5408<br \/>\n\u6bcf\u4e2a\u6570\u636e\u5e93\u53ef\u4ee5\u6709\u96f6\u4e2a\u6216\u591a\u4e2a\u96c6\u5408\uff0c\u5b83\u4eec\u7c7b\u4f3c\u4e8e\u5173\u7cfb\u6570\u636e\u5e93\u670d\u52a1\u5668\u4e2d\u7684\u8868\uff0c\u4f46\u6570\u636e\u6ca1\u6709\u7279\u5b9a\u7684\u683c\u5f0f\u3002\u53ef\u4ee5\u5c06\u5176\u89c6\u4e3aJava\u7f16\u7a0b\u8bed\u8a00\u4e2d\u7684\u901a\u7528\u5217\u8868\u4e0e\u5b57\u7b26\u4e32\u5217\u8868\u4e4b\u95f4\u7684\u6bd4\u8f83\u3002\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u4ee3\u7801\u83b7\u53d6\u6240\u6709\u96c6\u5408\u540d\u79f0\u3002<br \/>\nMongoClient mongo = new MongoClient(&#8220;localhost&#8221;, 27017);<br \/>\nDB db = mongo.getDB(&#8220;journaldev&#8221;);<\/p>\n<p>Set collections = db.getCollectionNames();<br \/>\nSystem.out.println(collections); \/\/ [datas, names, system.indexes, users]<\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u63d0\u4f9b\u96c6\u5408\u7684\u540d\u79f0\u6765\u83b7\u53d6\u7279\u5b9a\u7684\u96c6\u5408\uff0c\u5982\u4e0b\u6240\u793a\u3002<br \/>\nDB db = mongo.getDB(&#8220;journaldev&#8221;);<br \/>\nDBCollection col = db.getCollection(&#8220;users&#8221;);<\/p>\n<p>\u540c\u6837\uff0c\u5982\u679c\u96c6\u5408\u4e0d\u5b58\u5728\uff0cMongoDB\u4f1a\u4e3a\u60a8\u521b\u5efa\u5b83\u3002\u6240\u6709MongoDB\u4e2d\u7684\u6570\u636e\u90fd\u5b58\u50a8\u5728\u67d0\u4e2a\u96c6\u5408\u4e2d\uff0c\u56e0\u6b64\u6b64\u65f6\u6211\u4eec\u5df2\u7ecf\u51c6\u5907\u597d\u6267\u884c\u63d2\u5165\/\u66f4\u65b0\/\u5220\u9664\u64cd\u4f5c\u3002\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528DBCollection\u7684drop()\u65b9\u6cd5\u6765\u5220\u9664\u6570\u636e\u5e93\u4e2d\u7684\u96c6\u5408\u3002<\/p>\n<p>MongoDB Java\u793a\u4f8b<\/p>\n<pre class=\"post-pre\"><code>Even though we can work on any valid JSON document in MongoDB collection, in real life we have POJO classes that are mapped with these data. So I will create a java bean and use it for my examples. `User.java`\r\n\r\n```\r\npackage com.Olivia.mongodb.model;\r\n\r\npublic class User {\r\n\r\n\tprivate int id;\r\n\tprivate String name;\r\n\tprivate String role;\r\n\tprivate boolean isEmployee;\r\n\t\r\n\tpublic int getId() {\r\n\t\treturn id;\r\n\t}\r\n\tpublic void setId(int id) {\r\n\t\tthis.id = id;\r\n\t}\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\tpublic String getRole() {\r\n\t\treturn role;\r\n\t}\r\n\tpublic void setRole(String role) {\r\n\t\tthis.role = role;\r\n\t}\r\n\tpublic boolean isEmployee() {\r\n\t\treturn isEmployee;\r\n\t}\r\n\tpublic void setEmployee(boolean isEmployee) {\r\n\t\tthis.isEmployee = isEmployee;\r\n\t}\r\n}\r\n```\r\n\r\nHere is the complete MongoDB java example program showing all the CRUD operations one by one. `MongoDBExample.java`\r\n\r\n```\r\npackage com.Olivia.mongodb.main;\r\n\r\nimport java.net.UnknownHostException;\r\n\r\nimport com.Olivia.mongodb.model.User;\r\nimport com.mongodb.BasicDBObjectBuilder;\r\nimport com.mongodb.DB;\r\nimport com.mongodb.DBCollection;\r\nimport com.mongodb.DBCursor;\r\nimport com.mongodb.DBObject;\r\nimport com.mongodb.MongoClient;\r\nimport com.mongodb.WriteResult;\r\n\r\npublic class MongoDBExample {\r\n\r\n\tpublic static void main(String[] args) throws UnknownHostException {\r\n\t\r\n\t\tUser user = createUser();\r\n\t\tDBObject doc = createDBObject(user);\r\n\t\t\r\n\t\tMongoClient mongo = new MongoClient(\"localhost\", 27017);\r\n\t\tDB db = mongo.getDB(\"journaldev\");\r\n\t\t\r\n\t\tDBCollection col = db.getCollection(\"users\");\r\n\t\t\r\n\t\t\/\/create user\r\n\t\tWriteResult result = col.insert(doc);\r\n\t\tSystem.out.println(result.getUpsertedId());\r\n\t\tSystem.out.println(result.getN());\r\n\t\tSystem.out.println(result.isUpdateOfExisting());\r\n\t\tSystem.out.println(result.getLastConcern());\r\n\t\t\r\n\t\t\/\/read example\r\n\t\tDBObject query = BasicDBObjectBuilder.start().add(\"_id\", user.getId()).get();\r\n\t\tDBCursor cursor = col.find(query);\r\n\t\twhile(cursor.hasNext()){\r\n\t\t\tSystem.out.println(cursor.next());\r\n\t\t}\r\n\t\t\r\n\t\t\/\/update example\r\n\t\tuser.setName(\"Pankaj Kumar\");\r\n\t\tdoc = createDBObject(user);\r\n\t\tresult = col.update(query, doc);\r\n\t\tSystem.out.println(result.getUpsertedId());\r\n\t\tSystem.out.println(result.getN());\r\n\t\tSystem.out.println(result.isUpdateOfExisting());\r\n\t\tSystem.out.println(result.getLastConcern());\r\n\t\t\r\n\t\t\/\/delete example\r\n\t\tresult = col.remove(query);\r\n\t\tSystem.out.println(result.getUpsertedId());\r\n\t\tSystem.out.println(result.getN());\r\n\t\tSystem.out.println(result.isUpdateOfExisting());\r\n\t\tSystem.out.println(result.getLastConcern());\r\n\t\t\r\n\t\t\/\/close resources\r\n\t\tmongo.close();\r\n\t}\r\n\r\n\tprivate static DBObject createDBObject(User user) {\r\n\t\tBasicDBObjectBuilder docBuilder = BasicDBObjectBuilder.start();\r\n\t\t\t\t\t\t\t\t\r\n\t\tdocBuilder.append(\"_id\", user.getId());\r\n\t\tdocBuilder.append(\"name\", user.getName());\r\n\t\tdocBuilder.append(\"role\", user.getRole());\r\n\t\tdocBuilder.append(\"isEmployee\", user.isEmployee());\r\n\t\treturn docBuilder.get();\r\n\t}\r\n\r\n\tprivate static User createUser() {\r\n\t\tUser u = new User();\r\n\t\tu.setId(2);\r\n\t\tu.setName(\"Pankaj\");\r\n\t\tu.setEmployee(true);\r\n\t\tu.setRole(\"CEO\");\r\n\t\treturn u;\r\n\t}\r\n\t\r\n\t\r\n\r\n}\r\n```\r\n\r\nA sample execution results in following output.\r\n\r\n```\r\nnull\r\n0\r\nfalse\r\nWriteConcern { \"getlasterror\" : 1} \/ (Continue on error? false)\r\n{ \"_id\" : 2 , \"name\" : \"Pankaj\" , \"role\" : \"CEO\" , \"isEmployee\" : true}\r\nnull\r\n1\r\ntrue\r\nWriteConcern { \"getlasterror\" : 1} \/ (Continue on error? false)\r\nnull\r\n1\r\nfalse\r\nWriteConcern { \"getlasterror\" : 1} \/ (Continue on error? false)\r\n```\r\n\r\nNotice that I am saving User id with **\\_id** name, this is a reserved key for the primary key of any record in the collection. If we don't provide one, MongoDB will create one for us. It's like sequencer or auto increment column in relational database tables. Since I am deleting the created record, further execution won't cause any issues. But if there are duplicate record, then we will get below errors.\r\n\r\n```\r\nException in thread \"main\" com.mongodb.MongoException$DuplicateKey: { \"serverUsed\" : \"localhost:27017\" , \"ok\" : 1 , \"n\" : 0 ,\r\n \"err\" : \"insertDocument :: caused by :: 11000 E11000 duplicate key error index: journaldev.users.$_id_  dup key: { : 1 }\" , \r\n\"code\" : 11000}\r\n\tat com.mongodb.CommandResult.getWriteException(CommandResult.java:88)\r\n\tat com.mongodb.CommandResult.getException(CommandResult.java:79)\r\n\tat com.mongodb.DBCollectionImpl.translateBulkWriteException(DBCollectionImpl.java:314)\r\n\tat com.mongodb.DBCollectionImpl.insert(DBCollectionImpl.java:189)\r\n\tat com.mongodb.DBCollectionImpl.insert(DBCollectionImpl.java:165)\r\n\tat com.mongodb.DBCollection.insert(DBCollection.java:93)\r\n\tat com.mongodb.DBCollection.insert(DBCollection.java:78)\r\n\tat com.mongodb.DBCollection.insert(DBCollection.java:120)\r\n\tat com.Olivia.mongodb.main.MongoDBExample.main(MongoDBExample.java:27)\r\n```\r\n<\/code><\/pre>\n<p>\u8fd9\u5c31\u662f\u6709\u5173\u4e8eMongoDB Java Driver\u7684\u5165\u95e8\u6307\u5357\uff0c\u6211\u4eec\u5c06\u5728\u4e0b\u4e00\u7bc7\u6587\u7ae0\u4e2d\u63a2\u8ba8\u66f4\u591a\u529f\u80fd\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6b22\u8fce\u6765\u5230MongoDB Java\u793a\u4f8b\u6559\u7a0b\u3002\u4e4b\u524d\u6211\u4eec\u5b66\u4e60\u4e86\u5982\u4f55\u5728Unix\u673a\u5668\u4e0a\u5b89\u88c5MongoDB\u5e76\u5728\u7ec8\u7aef\u4e0a\u6267\u884c\u4e86 [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-50707","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-\u793a\u4f8b\u6559\u7a0b\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b\" \/>\n<meta property=\"og:description\" content=\"\u6b22\u8fce\u6765\u5230MongoDB Java\u793a\u4f8b\u6559\u7a0b\u3002\u4e4b\u524d\u6211\u4eec\u5b66\u4e60\u4e86\u5982\u4f55\u5728Unix\u673a\u5668\u4e0a\u5b89\u88c5MongoDB\u5e76\u5728\u7ec8\u7aef\u4e0a\u6267\u884c\u4e86 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-\u793a\u4f8b\u6559\u7a0b\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-20T21:24:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-15T05:16:16+00:00\" \/>\n<meta name=\"author\" content=\"\u96c5, \u609f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u96c5, \u609f\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/\",\"name\":\"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-11-20T21:24:26+00:00\",\"dateModified\":\"2024-01-15T05:16:16+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\",\"name\":\"\u96c5, \u609f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"caption\":\"\u96c5, \u609f\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-\u793a\u4f8b\u6559\u7a0b\/","og_locale":"zh_CN","og_type":"article","og_title":"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b","og_description":"\u6b22\u8fce\u6765\u5230MongoDB Java\u793a\u4f8b\u6559\u7a0b\u3002\u4e4b\u524d\u6211\u4eec\u5b66\u4e60\u4e86\u5982\u4f55\u5728Unix\u673a\u5668\u4e0a\u5b89\u88c5MongoDB\u5e76\u5728\u7ec8\u7aef\u4e0a\u6267\u884c\u4e86 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-\u793a\u4f8b\u6559\u7a0b\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-11-20T21:24:26+00:00","article_modified_time":"2024-01-15T05:16:16+00:00","author":"\u96c5, \u609f","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u96c5, \u609f","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/","name":"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-11-20T21:24:26+00:00","dateModified":"2024-01-15T05:16:16+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"MongoDB Java CRUD \u793a\u4f8b\u6559\u7a0b"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6","name":"\u96c5, \u609f","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","caption":"\u96c5, \u609f"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/mongodb-java-crud-%e7%a4%ba%e4%be%8b%e6%95%99%e7%a8%8b\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/50707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=50707"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/50707\/revisions"}],"predecessor-version":[{"id":59801,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/50707\/revisions\/59801"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=50707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=50707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=50707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}