Tag: mongodb

将MongoDB集合中的数据检索到Swing JTable中

我是数据库项目的新手。 在将它连接到数据库服务器后,我不知道如何在一个摆动窗口(EDIT:JTable)内的mongodb中显示一个集合…. plz帮我解决这个问题…我试过在sql中做这个但是我不能使用mongodb JButton btnDisplay = new JButton(“display”); btnDisplay.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { // To connect to mongodb server MongoClient mongoClient = new MongoClient( “localhost” , 27017 ); // Now connect to your databases DB db = mongoClient.getDB( “test” ); System.out.println(“Connect to database successfully”); DBCollection coll = db.getCollection(“cars”); DBCursor cursor […]

Mongodb批量操作中的跟踪操作

我正在使用MongoDB 2.6.1。 我的问题是 – “是否可以在批量操作中跟踪_id?” 假设我为BulkWriteOperation创建了一个对象,例如要从’A’集合中插入’B’集合的50个文档。 我需要保留一个成功的写操作列表和失败的写操作 。 批量插入和删除工作正常。 但问题是 – “我需要跟踪_ids, 查询 – 从A中找到文档并插入B集合 。同时,我需要保留一份_ids列表(成功和失败) 我需要删除A集合中的文档,仅用于那些成功的操作并保留失败的文档,因为它是 “ – 请帮帮我。 感谢您 :) :)

如何将ObjectId序列化为JSON?

我想将Product类的ObjectId序列化为JSON。 我得到了以下JSON: [{“name”:”Play for Java: Covers Play 2″,”type”:”Book”,”company”:”Manning Publications”,”price”:30.0,”imagePath”:”public/images/play-for-java.png”,”rating”:4.5,”category”:”Computer”,”author”:”Nicolas Leroux”,”publicationDate”:1396224000000,”numPage”:320,”_id”:539da7a6370882f10d5c2777}] 您可以注意到”_id”没有被正确序列化,它应该是”539da7a6370882f10d5c2777″ (带双引号)而不仅仅是539da7a6370882f10d5c2777 。 因此,我尝试实现自己的ObjectIdSerializer如下: import java.io.IOException; import org.bson.types.ObjectId; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; public class ObjectIdSerializer extends JsonSerializer { @Override public void serialize(ObjectId value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException, JsonProcessingException { jsonGen.writeString(value.toString()); } } 它给了我不同的错误: java.lang.String cannot be cast to org.bson.types.ObjectId (through […]

Spring + Mongo + Generics +灵活性

以下代码(当然)不起作用,因为标记的行不能编译: MyClass { //singleton stuff private static MyClass instance; private MyClass () {} public static MyClass getInstance() { if(instance==null) { instance = new MyClass (); } return instance; } // method creating problems public NonGenericSuperClassOfGenericClass create(Class… classes) { if(someCondition) return new GenericClass; // DOES NOT COMPILE else return new OtherGenericClass; } } 因此,我实际上不知道“创造”是否会回归 GenericClass 要么 […]

spring数据mongodb映射动态场

我在我的java类中有这个模型 @Document public class Template { private String type; private String code; @Version Long version; } 我需要添加一个名为template的新字段,并将此字段映射为动态,换句话说,我会像这样建模一个文档 { _id: ‘id’ type:’myType’, code:’myCode’ template:{ someFiled:[ { subField1:’value1′, subField2:’value2′ }, { sub1Field1:’1value1′, sub1Field2:’1value2′ } ………………….. ], otherField:[ { otherField1:’value1′, otherField2:’value2′ } ], ……… }, version:1000L } 有没有办法将字段注释为动态? 解 @Document public class Template { private String type; private […]

将MongoDB查询转换为Java

我需要将以下mongo查询转换为java。 db.sample.find( { name:”abc” }, { _id: 0, cities: { $elemMatch: { cityName: “A” }}}); 我尝试了很多方法,但我无法弄清楚正确的方法。 BasicDBObject eleMatch = new BasicDBObject(); eleMatch.put(“cityName”,”A”); BasicDBObject up = new BasicDBObject(); up.put(“$elemMatch”,eleMatch); BasicDBObject query = new BasicDBObject(); query.put(“name”,”abc”); query.put(“cities”,up); DBCollection dbcoll = mongoTemplate.getCollection(“sample”); DBObject object = dbcoll.findOne(query); 但是此对象的结果包含id。 所以我只需要摆脱它。

java中mongo数组中的访问元素

假设我在数据库中有以下mongo对象: { “_id” : ObjectId(“4f904ebb5bebd4375b759c90”), “findme” : “someValue”, “array” : [ { “id” : “1234” “Y” : “0” }, { “id” : “3456” “Y” : “0” }, { “id” : “5678” “Z” : “0” } ] } 我知道我可以用java中的以下点符号访问器更改数组内容… BasicDBObject change = new BasicDBObject(“findme”, “someValue”); BasicDBObject setDoc = new BasicDBObject(); setDoc.append(“array.0.Y”, “0”); setDoc.append(“array.1.Y”, “0”); setDoc.append(“array.2.Z”, “0”); […]

有没有办法自动创建Mongo编解码器?

我愿意将我的代码从mongojack迁移到支持新的异步mongo驱动程序的代码。 然而,我发现新的编码/解码方式是通过Codec ,我不认为自己为模型中的每个类编写了一个Codec 。 这就是为什么我宁愿写一个给定类创建Codec 。 但是我不知道怎么样,也不知道是否已经有一些努力试图达到同样的目的。 是否有一些libs可以实现我想要的? 如果没有,实现它的最佳方法是什么。 (我知道我应该在那里的某处使用CodecProvider ,但我仍然不知道从哪里开始)

将Mongo DB与Android应用程序连接

我正在尝试构建Android应用程序以连接到MongoDB。 坚持这个问题。 MongoDB是可访问的,没有安全性。 可以使用Mono Explorer从手机添加数据。 public void sendMessage(View view) throws UnknownHostException { /**** Connect to MongoDB ****/ // Since 2.10.0, uses MongoClient MongoClient mongo = new MongoClient(“”, 27017); /**** Get database ****/ DB db = mongo.getDB(“test”); DBCollection table = db.getCollection(“test”); BasicDBObject document = new BasicDBObject(); document.put(“name”, “mkyong”); document.put(“age”, 30); document.put(“createdDate”, new Date(0)); try { table.insert(document); […]

无法使用Java连接到MongoDB

我正在尝试编写一个将连接到MongoDB数据库的Java程序。 我已经拥有了我正在尝试访问的数据库的IP地址,端口,用户数据库,用户名和密码。 我将mongodb-driver-3.0.0.jar文件设置为Eclipse中的引用库。 我在src文件夹中创建了一个MongoDBDriver.java文件(如下所示): import com.mongodb.MongoClient; public class MongoDBDriver { public static void main(String[] args) { MongoClient client = new MongoClient(“10.66.80.152”, 27017); String connectPoint = client.getConnectPoint(); System.out.println(connectPoint); client.close(); } } 当我运行脚本时,我收到以下错误消息: Exception in thread “main” java.lang.NoClassDefFoundError: com/mongodb/connection/BufferProvider at MongoDBDriver.main(MongoDBDriver.java:7) Caused by: java.lang.ClassNotFoundException: com.mongodb.connection.BufferProvider at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) […]