Tag: mongodb

mongodb:存储分层树结构?

在mongodb上,我将如何存储分层树数据,其中每个节点都包含一个包含它自己的字符串变量和对象集的Java对象? 如果没有孩子,那就会直截了当。 但是如何将子节点DBobject存储为mongodb上的字段? 例如,在Jtree上,如果用户在特定节点上单击并选择删除,则应该存在一些对应的唯一标识符。 ps我可以为每个用户创建一个数据库,让mongodbvalidation用户吗?

更新(递增)MongoDB中子文档中的值

如果我有一个包含文档和子文档的MongoDB集合,如图所示: 并且,如果我想在每次调用方法时将“损坏”增加1: private final static void incrementCount(String docID, String subDocID) { BasicDBObject query = new BasicDBObject(); query.put(“_id”, docID); query.put(“items.id”, subDocID); BasicDBObject incValue = new BasicDBObject(“damage”, 1); // or “items.damage” ??? BasicDBObject intModifier = new BasicDBObject(“$inc”, incValue); badgesCollection.update(query, intModifier, false, false, WriteConcern.SAFE); } 问题:我是指“损坏”还是“items.damage”?

Spring数据mongo中的Mongodb $ lookup

我是一个新的Mongodb,我在使用java spring查询时遇到了问题。 我想在Spring数据中使用这个shell db.NewFeed.aggregate([ { $match : {username : “user001”} }, { $lookup: { from: “NewfeedContent”, localField: “content.contentId”, foreignField: “_id”, as: “NewfeedContent” } } ]) 我在Google上找到了,但还没有答案。

MongoDB Java API:com.mongodb.DBCollection.Save()和com.mongodb.DBCollection.Insert()之间的区别?

看起来这两个方法都将BasicDbObject保存到集合实例。这两种方法有什么区别? com.mongodb.DBCollection.Insert()com.mongodb.DBCollection.Save()

无法使用java连接在MongoDB 3.0.2中对用户进行身份validation

1 – 在mongo shell中创建用户 > use admin switched to db admin > db.createUser( { user:”tiger”, pwd:”secret”, roles: [ { role:”readWrite”, db:”zoo” } ] } ) Successfully added user: { “user” : “tiger”, “roles” : [ { “role” : “readWrite”, “db” : “zoo” } ] } 2 – 从Java连接到数据库 List seeds = new ArrayList(); seeds.add( new […]

mongodb java driver – 原始命令?

是否可以通过MongoDB的Java驱动程序以javascript的forms执行原始命令? 我厌倦了使用Rhino将所有东西都包装在Java对象中,并且很乐意牺牲性能以方便将javascript直接传递给DB。 如果没有,我总是可以使用sleepymongoose或其他东西,但我真的不想在此时向堆栈添加另一种语言(python)。 任何见解都表示赞赏。

Spring Boot测试中的MockBean注释导致NoUniqueBeanDefinitionException

我在使用@MockBean注释时遇到问题。 文档说MockBean可以替换上下文中的bean,但是我在unit testing中得到NoUniqueBeanDefinitionException。 我看不出如何使用注释。 如果我可以模拟repo,那么显然会有多个bean定义。 我正在按照此处的示例进行操作: https : //spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4 我有一个mongo存储库: public interface MyMongoRepository extends MongoRepository { MyDTO findById(String id); } 泽西岛资源: @Component @Path(“/createMatch”) public class Create { @Context UriInfo uriInfo; @Autowired private MyMongoRepository repository; @POST @Produces(MediaType.APPLICATION_JSON) public Response createMatch(@Context HttpServletResponse response) { MyDTO match = new MyDTO(); match = repository.save(match); URI matchUri = uriInfo.getBaseUriBuilder().path(String.format(“/%s/details”, match.getId())).build(); […]

从LinkedHashMap转换为Json String

我正在使用Jongo与Mongo一起工作,当我进行查询时,我收到了LinkedHashMap作为结果。 Iterator one = (Iterator) friends.find(query).projection(“{_id:0}”).as(Object.class); while (one.hasNext()) { LinkedHashMap data= new LinkedHashMap(); data= (LinkedHashMap) one.next(); String content=data.toString(); } 问题是,如果json是{“user”:“something”}内容将是{user = something},那么json只是来自HashMap的toString方法。 我怎么能得到原始的JSON? 我没有用于映射响应的类,并且它不是创建map类的解决方案,这就是我使用Object.class的原因。

查询MongoDB集合中的字段。

我试图查询mongodb集合中的特定字段。 这是我的代码和输出: Mongo m = new Mongo(); DB db = m.getDB( “mydb” ); DBCollection coll = db.getCollection(“student”) ; // adding data BasicDBObject moz = new BasicDBObject(); moz.put(“Name”, “Mozammil”); coll.insert(moz); DBCursor cursor = coll.find(); while (cursor.hasNext()) { System.out.println(cursor.next()); } 这将返回以下内容: { “_id” : { “$oid” : “4f5a4477c5e80f71ece56797”} , “Name” : “Mozammil”} 但是,我只想要名称部分。 谷歌搜索,这应该做的工作。 DBCursor cursor = […]

从MongoDB检索值时将DBObject转换为Java对象

在我的Java应用程序中,我已将值存储在ArrayList(Java对象集)中的mongoDB中。 如何从DBObject检索数据 我将数据存储在mongoDB中,如下所示: { “students” : [{“firstName” : “Jesse”, “lastName” : “Varnell”, “age” : “15”, “gender” : “M” }, { “firstName” : “John”, “lastName” : “Doe”, “age” : “13”, “gender” : “F”}] } 我正在为学生提供Java对象: public class Student { public String firstName; public String lastName; public String age; public String gender; // M, F } 我正在从mongoDB中检索数据,如: […]