您现在的位置是:网站首页> 编程资料编程资料

MongoDB中对文档的增删查改基本操作方法总结_MongoDB_

2023-05-27 476人已围观

简介 MongoDB中对文档的增删查改基本操作方法总结_MongoDB_

插入文档:insert() 方法

要插入数据到 MongoDB 集合,需要使用 MongoDB 的  insert() 或 save() 方法。

语法:

insert() 命令的基本语法如下:

 >db.COLLECTION_NAME.insert(document) 

例子:

 >db.mycol.insert({    _id: ObjectId(7df78ad8902c),    title: 'MongoDB Overview',     description: 'MongoDB is no sql database',    by: 'tutorials point',    url: 'https://www.jb51.net',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100 })
这里 mycol  是集合的名称,如前面的教程中创建。如果集合在数据库中不存在,那么MongoDB 将创建此集合,然后把它插入文档。

插入文档中,如果我们不指定_id参数,然后MongoDB 本文档分配一个独特的ObjectId。

_id 是12个字节的十六进制数,唯一一个集合中的每个文档。 12个字节被划分如下:

 _id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer) 

要插入单个查询的多个文档,可以传递一个数组 insert() 命令的文件。

示例:

 >db.post.insert([ {    title: 'MongoDB Overview',     description: 'MongoDB is no sql database',    by: 'tutorials point',    url: 'https://www.jb51.net',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100 }, {    title: 'NoSQL Database',     description: 'NoSQL database doesn't have tables',    by: 'tutorials point',    url: 'https://www.jb51.net',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 20,     comments: [        {          user:'user1',          message: 'My first comment',          dateCreated: new Date(2013,11,10,2,35),          like: 0        }    ] } ])
要插入文件,也可以使用  db.post.save(document)。 如果不指定_id在文档中,然后将其 save() 方法和 insert()方法工作一样。如果指定_id,它会替换整个数据文件,其中包含_id 指定save()方法。


删除文档:remove() 方法

MongoDB的 remove() 方法用于从集合中删除文档。remove() 方法接受两个参数。第一个是删除criteria ,第二是justOne标志:

(1)deletion criteria :(可选)删除标准,根据文件将被删除。

(2)justOne : (可选)如果设置为true或1,然后只删除一个文件。

语法:

基本语法remove()方法如下

 >db.COLLECTION_NAME.remove(DELLETION_CRITTERIA) 

例子:

考虑以下数据mycol集合。

 { "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai Overview"}
下面的例子将删除所有的文件,其标题是 'MongoDB Overview'

 >db.mycol.remove({'title':'MongoDB Overview'}) >db.mycol.find() { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai Overview"} >
删除只有一个。

如果有多个记录且要删除的只有第一条记录,那么设置remove()方法中justOne参数

 >db.COLLECTION_NAME.remove(DELETION_CRITERIA,1) 

删除所有文件:

如果不指定删除条件,然后MongoDB将从集合中删除整个文件。这相当于SQL的truncate命令。

 >db.mycol.remove() >db.mycol.find() >


查询文档:
1.find() 方法
要从MongoDB 查询集合数据,需要使用MongoDB 的 find() 方法。

语法:

基本的find()方法语法如下

 >db.COLLECTION_NAME.find() 

find() 方法将在非结构化的方式显示所有的文件。

2.pretty() 方法

结果显示在一个格式化的方式,可以使用 pretty() 方法.

语法:

 >db.mycol.find().pretty() 

例子:

 >db.mycol.find().pretty() {    "_id": ObjectId(7df78ad8902c),    "title": "MongoDB Overview",     "description": "MongoDB is no sql database",    "by": "tutorials point",    "url": "https://www.jb51.net",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >
除了find() 方法外,还有一个 findOne() 法,返回一个文件。

RDBMS Where子句和MongoDB等同语句.

要查询文件的一些条件的基础上,可以使用下面的操作

操作语法例子RDBMS 等同
Equalitykeydb.mycol.find({"by":"tutorials point"}).pretty()where by = 'tutorials point'
Less Than{:{$lt:}}db.mycol.find({"likes":{$lt:50}}).pretty()where likes < 50
提示: 本文由整理自网络,如有侵权请联系本站删除!
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!