MongoDB.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.yihu.hos.common.mongo;
  2. import com.mongodb.client.MongoCollection;
  3. import org.bson.Document;
  4. import java.util.List;
  5. /**
  6. * 提供对MongoDB的封装,减化对Mongo使用.
  7. * 主要就是减少层级关系,过滤掉资源释放等处理。
  8. * 注意:
  9. * 部分接口为了保持高效的情况,建议还是使用原生驱动。
  10. * 可以用getCollection取到原生MongoCollection<Document>
  11. * usage:
  12. * 1.使用MongoDBKit.addConfig()
  13. * 2.使用MongoDBKit.start();
  14. * 3.使用MongoDB做查询
  15. * 4.使用use()切换连接查询
  16. *
  17. * @created Airhead 2016/2/17.
  18. */
  19. public class MongoDB {
  20. private static MongoDBPro mongoDBPro;
  21. static void init() {
  22. mongoDBPro = MongoDBPro.use();
  23. }
  24. public static MongoDBPro use(String configName) {
  25. return MongoDBPro.use(configName);
  26. }
  27. public static MongoDBPro db(String databaseName) {
  28. return mongoDBPro.db(databaseName);
  29. }
  30. public static long count(String collectionName) {
  31. return mongoDBPro.count(collectionName);
  32. }
  33. public static long count(String collectionName, String filter) {
  34. return mongoDBPro.count(collectionName, filter);
  35. }
  36. public static long count(String collectionName, String filter, String options) {
  37. return mongoDBPro.count(collectionName, filter, options);
  38. }
  39. public static List<String> find(String collectionName) {
  40. return mongoDBPro.find(collectionName);
  41. }
  42. public static List<String> find(String collectionName, String filter) {
  43. return mongoDBPro.find(collectionName, filter);
  44. }
  45. public static List<String> find(String collectionName, String filter, String projection) {
  46. return mongoDBPro.find(collectionName, filter, projection);
  47. }
  48. public static List<String> find(String collectionName, String filter, String projection, String options) {
  49. return mongoDBPro.find(collectionName, filter, projection, options);
  50. }
  51. public static void insertOne(String collectionName, String document) {
  52. mongoDBPro.insertOne(collectionName, document);
  53. }
  54. public static void insertMany(String collectionName, List<String> documents) {
  55. mongoDBPro.insertMany(collectionName, documents);
  56. }
  57. public static void insertMany(String collectionName, List<String> documents, String options) {
  58. mongoDBPro.insertMany(collectionName, documents, options);
  59. }
  60. public static long deleteOne(String collectionName, String filter) {
  61. return mongoDBPro.deleteOne(collectionName, filter);
  62. }
  63. public static long deleteMany(String collectionName, String filter) {
  64. return mongoDBPro.deleteMany(collectionName, filter);
  65. }
  66. public static long replaceOne(String collectionName, String filter, String replacement) {
  67. return mongoDBPro.replaceOne(collectionName, filter, replacement);
  68. }
  69. public static long replaceOne(String collectionName, String filter, String replacement, String updateOptions) {
  70. return mongoDBPro.replaceOne(collectionName, filter, replacement, updateOptions);
  71. }
  72. public static long updateOne(String collectionName, String filter, String update) {
  73. return mongoDBPro.replaceOne(collectionName, filter, update);
  74. }
  75. public static long updateOne(String collectionName, String filter, String update, String updateOptions) {
  76. return mongoDBPro.replaceOne(collectionName, filter, update, updateOptions);
  77. }
  78. public static long updateMany(String collectionName, String filter, String update) {
  79. return mongoDBPro.updateMany(collectionName, filter, update);
  80. }
  81. public static long updateMany(String collectionName, String filter, String update, String updateOptions) {
  82. return mongoDBPro.updateMany(collectionName, filter, update, updateOptions);
  83. }
  84. public static String findOneAndDelete(String collectionName, String filter) {
  85. return mongoDBPro.findOneAndDelete(collectionName, filter);
  86. }
  87. public static String findOneAndDelete(String collectionName, String filter, String options) {
  88. return mongoDBPro.findOneAndDelete(collectionName, filter, options);
  89. }
  90. public static String findOneAndReplace(String collectionName, String filter, String replacement) {
  91. return mongoDBPro.findOneAndReplace(collectionName, filter, replacement);
  92. }
  93. public static String findOneAndReplace(String collectionName, String filter, String replacement, String options) {
  94. return mongoDBPro.findOneAndReplace(collectionName, filter, replacement, options);
  95. }
  96. public static String findOneAndUpdate(String collectionName, String filter, String update, String options) {
  97. return mongoDBPro.findOneAndUpdate(collectionName, filter, update, options);
  98. }
  99. public static String findOneAndUpdate(String collectionName, String filter, String update) {
  100. return mongoDBPro.findOneAndUpdate(collectionName, filter, update);
  101. }
  102. public static void drop(String collectionName) {
  103. mongoDBPro.drop(collectionName);
  104. }
  105. public static String createIndex(String collectionName, String keys) {
  106. return mongoDBPro.createIndex(collectionName, keys);
  107. }
  108. public static String createIndex(String collectionName, String keys, String indexOptions) {
  109. return mongoDBPro.createIndex(collectionName, keys, indexOptions);
  110. }
  111. public static List<String> listIndexes(String collectionName) {
  112. return mongoDBPro.listIndexes(collectionName);
  113. }
  114. public static void dropIndex(String collectionName, String indexName) {
  115. mongoDBPro.dropIndex(collectionName, indexName);
  116. }
  117. public static void dropIndexes(String collectionName) {
  118. mongoDBPro.dropIndexes(collectionName);
  119. }
  120. public static void renameCollection(String collectionName, String newCollectionName) {
  121. mongoDBPro.renameCollection(collectionName, newCollectionName);
  122. }
  123. public static void renameCollection(String collectionName, String newCollectionName, String renameCollectionOptions) {
  124. mongoDBPro.renameCollection(collectionName, newCollectionName, renameCollectionOptions);
  125. }
  126. public static MongoCollection<Document> getCollection(String collectionName) {
  127. return mongoDBPro.getCollection(collectionName);
  128. }
  129. public static List<String> listCollectionNames(){
  130. return mongoDBPro.listCollectionNames();
  131. }
  132. }