`

Mongo shell 函数详解 - 数组

阅读更多

数据事例:

> db.language.find()

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "ejb" ] }

{ "_id" : 2, "name" : "db", "tags" : [ "mysql", "mongo" ] }

{ "_id" : 3, "name" : ".net", "tags" : [ "asp" ] }

{ "_id" : 4, "name" : "javascript", "tags" : [ ] }

{ "_id" : 5, "name" : "ruby" }

 

> var tags = db.language.findOne({_id:1}).tags

> Array.isArray(tags)

true

> Array.contains(tags,"jsp")

true

> Array.contains(tags,"jdbc")

false

> tags

[ "jsp", "servlet", "ejb" ]

> tags[3]="jsp"

jsp

> tags

[ "jsp", "servlet", "ejb", "jsp" ]

> tags = Array.unique(tags)

[ "jsp", "servlet", "ejb" ]

> Array.shuffle(tags)

[ "jsp", "ejb", "servlet" ]

> Array.shuffle(tags)

[ "servlet", "ejb", "jsp" ]

> Array.shuffle(tags)

[ "jsp", "servlet", "ejb" ]

> Object.keySet(tags)

[ "0", "1", "2" ]

> db.language.find({tags:{$size:0}})

{ "_id" : 4, "name" : "javascript", "tags" : [ ] }

> db.language.find(function(){return !Array.isArray(this.tags)})

{ "_id" : 5, "name" : "ruby" }

> db.language.find(function(){return Array.isArray(this.tags)})

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "ejb" ] }

{ "_id" : 2, "name" : "db", "tags" : [ "mysql", "mongo" ] }

{ "_id" : 3, "name" : ".net", "tags" : [ "asp" ] }

{ "_id" : 4, "name" : "javascript", "tags" : [ ] }

> db.language.find(function(){return (Array.isArray(this.tags) && this.tags.length >= 3)})

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "ejb" ] }

 

 

 

> var allTags = new Array();

> var langs = db.language.find(function(){return Array.isArray(this.tags) && this.tags.length > 0}).toArray();

> for(var i=0;i<langs.length;i++){

... var tags = langs[i].tags;

... for(var j in tags){

... allTags.push(tags[j]);

... }

... }

6

> allTags

[ "jsp", "servlet", "ejb", "mysql", "mongo", "asp" ]

 

> db.language.find({"tags.0":"jsp"})

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "ejb" ] }

> db.language.find({tags:{$all:["jsp","ejb"]}})

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "ejb" ] }

> db.language.find({tags:{$elemMatch:{$gte:"jsp"}}})

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "ejb" ] }

{ "_id" : 2, "name" : "db", "tags" : [ "mysql", "mongo" ] }

> db.language.find({tags:{$elemMatch:{$in:["asp"]}}})

{ "_id" : 3, "name" : ".net", "tags" : [ "asp" ] }

> db.language.find({tags:"jsp"})

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "ejb" ] }

> db.language.update({tags:"ejb"},{$set:{"tags.$":"groovy"}},false,true)

> db.language.find({tags:"jsp"})

{ "_id" : 1, "name" : "java", "tags" : [ "jsp", "servlet", "groovy" ] }

  • 描述: 数组
  • 大小: 146 KB
  • 大小: 55.1 KB
  • 大小: 77.9 KB
分享到:
评论

相关推荐

    docker-mongodb-shell:在Docker容器中安装mongo shell和工具的示例

    -rm -t thelebster/mongo-shell-example .docker run -ti --rm --name mongo-shell-example -d thelebster/mongo-shell-exampledocker exec -it mongo-shell-example bashdocker run -ti --rm --name mongo-...

    mongo-java-driver-3.12.2.jar

    mongo-java-driver-3.12.2.jar,mongo官网上下载的,用于java-api操作mongodn数据库的驱动程序jar包

    mongo-c-driver-1.14.0-x86.rar

    【MongoDB C Driver 1.14.0】--截止2019.6.26的最新版本 1、编译好的Mongodb C语言库,包含lib、dll、include,版本1.14.0,32位的 2、包含文件的清单: ......\mongo-c-driver\share\mongo-c-driver\uninstall.cmd

    mongo-java-driver-3.2.2.jar.zip

    MongoDB是一个流行的开源、文档型数据库系统,而`mongo-java-driver`是官方提供的Java API,允许开发者在Java应用程序中执行各种数据库操作,如读取、写入、查询等。 在本例中,我们讨论的是`mongo-java-driver`的...

    mongo-java-driver-3.6.4.jar

    mongo-java-driver-3.6.4,可用于连接mangoDB数据库~~~~~~~~~~~~~~~~~~

    mongo-java-driver-3.9.1

    本资源内含4个文件:mongo-java-driver-3.9.1.jar,MongoDB JDBC驱动包。mongo-java-driver-3.9.1-sources.jar,MongoDB JDBC驱动源代码包。mongo-java-driver-3.9.1-javadoc.jar,MongoDB JDBC驱动JAVA API文档包。...

    mongo-java-driver-3.4.3,java连接mongodb的jar包驱动包

    mongo-java-driver-3.4.3.jar 是 MongoDB 官方为 Java 开发者提供的 Java 驱动程序的一个特定版本(3.4.3)。这个 JAR 文件包含了与 MongoDB 数据库进行交互所需的类和接口,允许 Java 应用程序连接到 MongoDB 实例...

    mongo-java-driver-3.4.2.jar

    mongo-java-driver-3.4.2.jar

    mongo-java-driver-3.2.2

    在"mongo-java-driver-3.2.2"这个版本中,我们探讨的是一个关键的中间件,它允许Java应用程序充分利用MongoDB的功能,包括数据存储、查询、更新以及删除操作。 MongoDB是一个流行的NoSQL数据库系统,以其灵活性、高...

    mongo-hadoop-core-2.0.0

    mongo-hadoop-core-2.0.0.jar x x s s sa a a s dd . d d

    mongo-connector-2.11-2.3.0

    Mongo-Connector是一个强大的工具,用于将MongoDB的数据同步到其他数据存储系统,如Elasticsearch或Solr。在本案例中,我们关注的是版本2.3.0,它专为pyspark2.3.0和Scala2.11构建。这个版本确保了与特定Spark和...

    阿里mongo同步工具mongo-shake

    阿里mongo同步工具mongo-shake正是为了解决这些问题而设计的。 Mongo-shake 是阿里巴巴开发的一款高效、稳定且易于使用的MongoDB数据迁移工具,主要用于实现MongoDB集群之间的数据同步。它支持全量数据迁移和增量...

    经过改造的mongo-java-driver-2.14.3.jar.zip

    在这个特定的场景中,我们讨论的是一个经过改造的`mongo-java-driver-2.14.3.jar.zip`文件,它被优化以适应在Kettle(Pentaho Data Integration)环境中使用,特别是与包含用户认证的MongoDB实例进行交互。...

    mongo-java-driver-3.2.2.jar

    mongo-java-driver是java语言操作mongodb数据库的驱动包,封装了针对mongodb的相关操作 代码案例: 数据库和集合操作 连接MongoDB服务: MongoClient mongoClient = new MongoClient(host, port); 连接数据库: ...

    mongo-scala-drive的使用demo

    在 Scala 中与 MongoDB 进行交互,通常我们会使用 `mongo-scala-driver`,而不是 `mongo-java-driver`,因为 Scala 驱动提供了更符合 Scala 语言特性的 API 设计。本示例将详细介绍如何使用 `mongo-scala-driver` ...

    mongo-java-driver-3.6.4

    mongo-java-driver-3.6.4,mongodb的java驱动,版本为3.6.4

    solr-mongo-importer-1.1.0.jar

    solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar

    sql-to-mongo-db-query-converter:sql-to-mongo-db-query-converter

    sql-to-mongo-db-query-converter sql-to-mongo-db-query-converter可帮助您基于SQL中提供的查询为MongoDb构建查询。玛文向com.github.vincentrussell:sql-to-mongo-db-query-converter添加依赖...

    mongo-java-driver最新jar.zip

    mongo-java-driver3.0以上jar压缩包大全 try { //1.连接池相关选项配置 MongoClientOptions options=MongoClientOptions.builder() .connectionsPerHost(poolSize) .minConnectionsPerHost(minpoolsize) ...

    mongo-cxx-driver

    MongoDB的C++驱动,即`mongo-cxx-driver`,是一个关键组件,允许开发者使用C++语言与MongoDB数据库进行交互。MongoDB是一款流行的、基于文档的NoSQL数据库,而`mongo-cxx-driver`则是MongoDB官方支持的C++接口,它...

Global site tag (gtag.js) - Google Analytics