返回顶部
首页 > 资讯 > 数据库 >MongoDB中常用的语句有哪些
  • 849
分享到

MongoDB中常用的语句有哪些

2024-04-02 19:04:59 849人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关mongoDB中常用的语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如果觉得 MonGodb 语句不太好理解,可以和 sql 语句进行对比,学

这篇文章给大家分享的是有关mongoDB中常用的语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

如果觉得 MonGodb 语句不太好理解,可以和 sql 语句进行对比,学起来要容易很多。

1. 查询(find)

查询所有结果

select * from article
db.article.find()

指定返回哪些键

select title, author from article
db.article.find({}, {"title": 1, "author": 1})

where条件

select * from article where title = "mongodb"
db.article.find({"title": "mongodb"})

and条件

select * from article where title = "mongodb" and author = "god"
db.article.find({"title": "mongodb", "author": "god"})

or条件

select * from article where title = "mongodb" or author = "god"
db.article.find({"$or": [{"title": "mongodb"}, {"author": "god"}]})

比较条件

select * from article where read >= 100;
db.article.find({"read": {"$gt": 100}})
> $gt(>)、$gte(>=)、$lt(<)、$lte(<=)
 select * from article where read >= 100 and read <= 200
 db.article.find({"read": {"$gte": 100, "lte": 200}})

in条件

select * from article where author in ("a", "b", "c")
db.article.find({"author": {"$in": ["a", "b", "c"]}})

like

select * from article where title like "%mongodb%"
db.article.find({"title": /mongodb/})

count

select count(*) from article
db.article.count()

不等于

select * from article where author != "a"
db.article.find({ "author": { "$ne": "a" }})

排序

升序:

select * from article where type = "mongodb" order by read desc
db.article.find({"type": "mongodb"}).sort({"read": -1})

降序:

select * from article where type = "mongodb" order by read asc
db.article.find({"type": "mongodb"}).sort({"read": 1})

findOne():除了只返回一个查询结果外,使用方法与find()一样。

2.创建(insert)

insert into article(title, author, content) values("mongodb", "tg", "haha")
db.article.insert({"title": "mongodb", "author": "tg", "content": "haha"})

3.更新(update)

update()

语法:

db.collecion.update(query, update[, options] )

   query : 必选,查询条件,类似find中的查询条件。
   update : 必选,update的对象和一些更新的操作符(如$,$inc...)等
   options:可选,一些更新配置的对象。
   upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
   multi:可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
   writeConcern:可选,抛出异常的级别。

简单更新:

update article set title = "mongodb" where read > 100
db.article.update({"read": {"$gt": 100}}, {"$set": { "title": "mongodb"}})

save()

db.article.save({_id: 123, title: "mongodb"})

执行上面的语句,如果集合中已经存在一个_id为123的文档,则更新对应字段;否则插入。

注:如果更新对象不存在_id,系统会自动生成并作为新的文档插入。

更新操作符

MongoDB提供一些强大的更新操作符。

更新特定字段($set):

update game set count = 10000 where _id = 123
db.game.update({"_id": 123}, { "$set": {"count": 10000}})

删除特定字段($unset):

注:$unset指定字段的值只需是任意合法值即可。
递增或递减($inc)

 db.game.update({"_id": 123}, { "$inc": {"count": 10}}) // 每次count都加10

> 注意:$inc对应的字段必须是数字,而且递增或递减的值也必须是数字。

数组追加($push):

 db.game.update({"_id": 123}, { "$push": {"score": 123}})

还可以一次追加多个元素:

 db.game.update({"_id": 123}, {"$push": {"score": [12,123]}})

注:追加字段必须是数组。如果数组字段不存在,则自动新增,然后追加。

一次追加多个元素($pushAll):

 db.game.update({"_id": 123}, {"$pushAll": {"score": [12,123]}})

追加不重复元素($addToSet):

$addToSet类似集合Set,只有当这个值不在元素内时才增加:

 db.game.update({"_id": 123}, {"$addToSet": {"score": 123}})

删除元素($pop):

db.game.update({"_id": 123}, {"$pop": {"score": 1}})  // 删除最后一个元素
db.game.update({"_id": 123}, {"$pop": {"score": -1}})  // 删除第一个元素

注:$pop每次只能删除数组中的一个元素,1表示删除最后一个,-1表示删除第一个。

删除特定元素($pull):

db.game.update({"_id": 123}, {"$pull": {"score": 123}})

上面的语句表示删除数组score内值等于123的元素。

删除多个特定元素($pullAll):

db.game.update({"_id": 123}, {"$pullAll": {score: [123,12]}})

上面的语句表示删除数组内值等于123或12的元素。
更新嵌套数组的值:
使用数组下标(从0开始):

{
    address: [{place: "nanji", tel: 123}, {place: "dongbei", tel: 321}]
}
 db.game.update({"_id": 123}, {"$set": {"address.0.tel": 213}})

如果你不知道要更新数组哪项,我们可以使用$操作符( $表示自身,也就是按查询条件找出的数组里面的项自身,而且只会应用找到的第一条数组项):

 db.game.update({"address.place": "nanji"}, {"$set": {"address.$.tel": 123}})

在上面的语句中,$就是查询条件{"address.place": "nanji"}的查询结果,也就是{place: "nanji", tel: 123},所以{"address.$.tel": 123}也就是{"address.{place: "nanji", tel: 123}.tel": 123}

4. 删除(remove)

删除所有文档:

delete from article
db.article.remove()

删除指定文档:

 delete from article where title = "mongodb"
 db.article.remove({title: "mongodb"})

感谢各位的阅读!关于“MongoDB中常用的语句有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB中常用的语句有哪些

本文链接: https://lsjlt.com/news/54568.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MongoDB中常用的语句有哪些
    这篇文章给大家分享的是有关MongoDB中常用的语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如果觉得 Mongodb 语句不太好理解,可以和 SQL 语句进行对比,学...
    99+
    2024-04-02
  • mongodb dba常用的nosql语句有哪些
    本篇文章给大家分享的是有关mongodb dba常用的nosql语句有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。查看帮忙命令>h...
    99+
    2024-04-02
  • MySQL常用SQL语句在MongoDB中的写法有哪些
    MySQL常用SQL语句在MongoDB中的写法有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  如果你长期使用MySQ...
    99+
    2024-04-02
  • JavaScript中常用语句有哪些
    这篇文章主要介绍JavaScript中常用语句有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.switch选择多个需被执行的代码块之一switch(e) {   &nb...
    99+
    2023-06-22
  • MySQL中有哪些常用的SQL语句
    MySQL中有哪些常用的SQL语句,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、复杂SQL查询1.1、单表查询(1)选择指定的列[例]查询...
    99+
    2024-04-02
  • Oracle中有哪些常用的SQL语句
    Oracle中有哪些常用的SQL语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 查找数据库中所有字段 ...
    99+
    2024-04-02
  • PostgreSQL中有哪些常用的SQL语句
    这期内容当中小编将会给大家带来有关PostgreSQL中有哪些常用的SQL语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  创建新的用户  创建一个新的用户  CRE...
    99+
    2024-04-02
  • SQL server中有哪些常用的语句
    SQL server中有哪些常用的语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、 简单查询&nbs...
    99+
    2024-04-02
  • 常用的SQL语句有哪些
    本篇内容介绍了“常用的SQL语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ~~~~~~~数据库...
    99+
    2024-04-02
  • mysql常用的语句有哪些
    本篇内容介绍了“mysql常用的语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mysqld 常规...
    99+
    2024-04-02
  • javascript有哪些常用语句
    这篇文章主要讲解了“javascript有哪些常用语句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript有哪些常用语句”吧! ...
    99+
    2024-04-02
  • 常用SQL语句有哪些
    这篇文章将为大家详细讲解有关常用SQL语句有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。问...
    99+
    2024-04-02
  • C++常用语句有哪些
    小编给大家分享一下C++常用语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、声明变量在C++当中所有的变量都需要声明,如:int wordC...
    99+
    2023-06-25
  • sql中常见语句有哪些
    小编给大家分享一下sql中常见语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!结构化查询语言(Structured Qu...
    99+
    2024-04-02
  • 最常用的SQL语句有哪些
    本篇内容介绍了“最常用的SQL语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(1)数据记录筛选:...
    99+
    2024-04-02
  • clickhouse常用的sql语句有哪些
    查询表中所有数据:SELECT * FROM table_name; 查询特定列的数据:SELECT col1, ...
    99+
    2024-04-09
    clickhouse sql
  • DBA常用SQL语句有哪些
    DBA常用SQL语句有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 select tablespace_...
    99+
    2024-04-02
  • mysql有哪些常用的基本语句
    下文我给大家简单讲讲关于mysql有哪些常用的基本语句,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql有哪些常用的基本语句对大家多少有点帮助吧。create user...
    99+
    2024-04-02
  • MySQL有哪些常用的基础语句
    下文主要给大家带来MySQL有哪些常用的基础语句,希望这些内容能够带给大家实际用处,这也是我编辑MySQL有哪些常用的基础语句这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。一、查看数据库。对于查看...
    99+
    2024-04-02
  • 常用的sql语句具体有哪些
    常用的sql语句具体有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. SELECT d.VALUE &nb...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作