将SQL表转换为NoSQL(MongoDB)- 简单示例

7

我有些难以理解NoSQL。我正在使用MongoDB和Java,并希望创建类似于这样的内容:一个表(persons),其中包括姓名列(作为字符串)、年龄列(作为整数)和婚姻状况列(布尔值)。在普通的SQL中很容易实现...但是在MongoDB和Java中该怎么做呢?

好的,我知道的东西:在MongoDB中,表格就是集合,列就是BSON字段。我会从以下方式开始:

        Mongo m = new Mongo();
        DB db = m.getDB("myDatabase");
        DBCollection col = db.getCollection("Persons");
        BasicDBObject doc = new BasicDBObject();
        doc.put("something?", "something?");
        col.insert(doc);

第一步到第三步很简单。我有我的收藏(表),我应该制作BSON字段(列)的名称,年龄,已婚。但是怎么做呢?我知道put()方法,但我应该放什么呢?如果我有构造函数,我想要添加一些“人员”。 有什么想法吗?谢谢。

Morphia或其他Java POJO到Mongo数据库映射器也会有所帮助。 - tgkprog
2个回答

5
您应该尝试摆脱在MongoDB中思考列的概念。它是无模式的,因此即使在同一集合中,每个文档也可能具有不同的字段集,因此将字段视为列可能会误导您。
我建议您通过官方的MongoDB Java教程HERE进行学习。
您应该能够像这样做:
doc.put("name", "John");
doc.put("age", 30);
doc.put("married", false);

3
看一下这里的文档: http://api.mongodb.org/java/2.0/org/bson/BasicBSONObject.html#put(java.lang.String, java.lang.Object)

我认为put方法接受一个键和一个值,用于设置一个字段,例如:
doc.put("name", myPersonInstance.getName());
doc.put("age", myPersonInstance.getAge());

您可以使用put插入尽可能多的属性。还有一些方法可以从映射中添加等。

请记住,我从未使用过MongoDB Java API,因此我的陈述仅基于该文档和对MongoDB的一些轻微了解。

为记录起见,“put”相当于JSON结构,例如:

{name: "John", age:35}

希望能对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接