mongodb添加集合文档操作-使用shell和java操作mongodb文档

2016-06-16|来源:

查看当前数据库中所有的集合,使用命令 show collections 或使用show tables
> use mydb;
switched to db mydb
> show tables;
student

student1

@Test
public void testShowCollection(){
    ListCollectionsIterable<Document> iterable = mongoDatabase.listCollections();
    MongoCursor<Document> mongoCursor = iterable.iterator();
    while (mongoCursor.hasNext()) {
        System.out.println(mongoCursor.next());
    }
}


创建集合

1、显示创建集合, 执行后会在数据库里新建一个空的集合
> db.createCollection('blog1');

{ "ok" : 1 }

mongoDatabase.createCollection("user1");


2、隐式创建集合
隐式创建可以使用命令 db.集合名称.insert({}),指创建集合并同时向集合中插入数据,例如:db.user.insert({name:"书生"})
> db.user.insert({name:"书生"})
WriteResult({ "nInserted" : 1 })
> db.user.find();
{ "_id" : ObjectId("575cf7680eeaf1846525401c"), "name" : "书生" }


插入文档

> db.foo.insert({"bar":"baz"})
WriteResult({ "nInserted" : 1 })
> db.foo.find();
{ "_id" : ObjectId("57555bcfa57bed6079269bd0"), "bar" : "baz" }
>


插入多个文档,最多只能插入48M

> db.foo.insert([{"id":1},{id:2}])
BulkWriteResult({
   "writeErrors" : [ ],
   "writeConcernErrors" : [ ],
   "nInserted" : 2,
   "nUpserted" : 0,
   "nMatched" : 0,
   "nModified" : 0,
   "nRemoved" : 0,
   "upserted" : [ ]
})
> db.foo.find()
{ "_id" : ObjectId("57555bcfa57bed6079269bd0"), "bar" : "baz" }
{ "_id" : ObjectId("57555c42a57bed6079269bd1"), "id" : 1 }
{ "_id" : ObjectId("57555c42a57bed6079269bd2"), "id" : 2 }
>
@Test
public void testAddDocument() {
    MongoCollection<Document> mongoCollection = mongoDatabase.getCollection("student1");
    //插入一条数据
    Document document = new Document();
    document.append("name", "zhangsan");
    document.append("age", 28);
    mongoCollection.insertOne(document);
    //插入多条数据
    List<Document> documentList = new ArrayList<Document>();
    Document document1 = new Document();
    document1.append("name", "lisi");
    document1.append("age", 28);
    document1.append("sex", "男");
    Document document2 = new Document();
    document2.append("name", "wangwu");
    document2.append("age", 31);
    document2.append("sex", "男");
    documentList.add(document1);
    documentList.add(document2);
    mongoCollection.insertMany(documentList);
}


相关问答

更多

mongodb修改外层文档和内嵌文档

{ "_id" : ObjectId("52fb2ceb1e2f8622d4228a7a"), "from" : 0, "message" : [{ "data" : "test1", "status" : true, "time" : 1 }, { "data" : "test2", "status" : true, "time" : 2 }], "to" : 1, "type" : "s" }

java操作MongoDB使用强制索引的方法

DBCollection dbc = db.getCollection("role"); dbc.setHintFields(null); 虽然3.0以后版本中 DBCollection方法 已过时,可以将就用 直接用 $hint 操作符 db.users.find( { name: {}, $hint: { age : 1 } } ) 参考地址 https://docs.mongodb.org/manual/reference/operator/meta/hint/#metaOp._S_hint ...

mongodb存储数据和文档存储数据的区别?

MongoDB是文档型的行存储,行存储的读写过程是一致的,都是从第一列开始,到最后一列结束。行存储的写入是一次性完成,消耗的时间比列存储少,并且能够保证数据的完整性,缺点是数据读取过程中会产生冗余数据,如果只有少量数据,此影响可以忽略;数量大可能会影响到数据的处理效率。使用“文档”这个词似乎让人觉得奇怪,但是其实 “文档型数据模型”真的和传统意义的“文档”没有什么关系。这里说的“文档”其实是一个数据记录,这个记录能够对包含的数据类型和内容进行“自我描述”。 另外如果你用文档的话,查询,检索效率不高 ...

mongodb存储数据和文档存储数据的区别?

MongoDB是文档型的行存储,行存储的读写过程是一致的,都是从第一列开始,到最后一列结束。行存储的写入是一次性完成,消耗的时间比列存储少,并且能够保证数据的完整性,缺点是数据读取过程中会产生冗余数据,如果只有少量数据,此影响可以忽略;数量大可能会影响到数据的处理效率。使用“文档”这个词似乎让人觉得奇怪,但是其实 “文档型数据模型”真的和传统意义的“文档”没有什么关系。这里说的“文档”其实是一个数据记录,这个记录能够对包含的数据类型和内容进行“自我描述”。 另外如果你用文档的话,查询,检索效率不高 ...

mongodb怎么插入多个文档

MongoDB 插入文档 本章节中我们将向大家介绍如何将数据插入到MongoDB的集合中。 文档的数据结构和JSON基本一样。 所有存储在集合中的数据都是BSON格式。 BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。 插入文档 MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下: db.COLLECTION_NAME.insert(document) 实例 以下文档可以存储在 MongoDB 的 runoob 数据库 的 co ...

专题教程

相关文章

更多

最近更新

更多