Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQL表到nosql(MongoDB)-简单示例_Java_Sql_Mongodb_Nosql - Fatal编程技术网

Java SQL表到nosql(MongoDB)-简单示例

Java SQL表到nosql(MongoDB)-简单示例,java,sql,mongodb,nosql,Java,Sql,Mongodb,Nosql,我在理解nosql时遇到了一些问题。我正在使用mongodb和java,并希望创建类似的东西:一个表(persons),其中有一列表示名称(作为字符串)、年龄(作为整数)、已婚(布尔)。在普通sql中,这将很容易。。。但是如何继续使用mongodb和java呢 我知道:mongodb中的表是集合,列是BSON字段。我想从这个开始 Mongo m = new Mongo(); DB db = m.getDB("myDatabase"); DBColl

我在理解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);
前3个步骤很简单。我有我的收藏(表),我应该使BSON字段(列)的名称,年龄,结婚。但是怎么做呢?我知道put()方法,但是我应该放什么呢?如果我有这个结构,我想添加一些“人”


有什么想法吗?感谢您查看此处的文档: ,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}

希望能有所帮助。

您应该尝试摆脱使用MongoDB的专栏的想法。它是无模式的,因此即使在同一个集合中,每个文档也可能有不同的字段集,因此认为字段是列可能会产生误导

我建议您阅读官方的MongoDB Java教程

您应该能够执行以下操作:

doc.put("name", "John");
doc.put("age", 30);
doc.put("married", false);

morphia或其他Java POJO到Mongo数据库映射器也会有所帮助