最近没事看来一下mongoDB,貌似很牛逼的样子.因为他不像通常的关系型数据库那么多的约束.而且语法看上去和js一样.
mongod --dbpath C:\zhuyang\zhuyang\mongodb\mongodb\db ---insert db.person.insert({"name":"zhuyang","sex":"male") db.person.insert({"name":"hello","sex":"world"}) person = {"name":"nametest","sex":"sextest"} db.person.insert(person) ---find db.person.find() db.person.find({"name":"nametest"}) db.person.findOne() --update db.person.update({"name":"nametest"},{"sex":"testupdate"}) --remove db.person.remove({"name":"nametest"}) db.person.remove({"sex":"testupdate"}) --------------some command help ----see help doc db.help(); --to see some command of db level db.foo.help() ----help of collections to see the funcion implementation can use function name directly. eg: db.foo.update ---------insert to doc ------------- --insert one record db.foo.insert({"firstname":"zhu"}) --after this sentence , db will add another _id key(if doesnt defined) and save to doc.see below db.foo.insert({"lastname":"yang"}) db.foo.insert({"firstname":"chen"}) > db.foo.find() { "_id" : ObjectId("52ce585fe2e2fd0a66329ee3"), "firstname" : "zhu" } ------------batch insert use mongoimport file<4MB, need a field name _id -----------remove doc db.foo.remove() ---remove all db.foo.remove({"firstname":"chen"}) ---remove one record ------update doc ------ see below db.user.insert( { "firstname":"zhu", "lastname":"yang", "friends":32, "enemies":2 } ) CHANGE TO { "username":"zhuyang", "relation": { "friends":32, "enemies":2 } } var zhuyang = db.user.findOne({"firstname":"zhu"}) zhuyang.relation={ "friends":zhuyang.friends, "enemies":zhuyang.enemies } zhuyang.username="zhuyang" delete zhuyang.firstname delete zhuyang.lastname delete zhuyang.friends delete zhuyang.enemies db.user.update({"firstname":"zhu"},zhuyang) $set 修改器入门 db.user.insert( { "name":"joe", "age":30, "sex":"male", "location":"shanghai" } ) //想要添加一个新的字段favorite book //可用下面 2种办法 //1. 用update() var joe = db.user.findOne({"name":"joe"}) joe.favoritebook="java"; db.user.update({"name":"joe"},joe); //2. 使用修改器$set db.user.update( { "name":"joe" }, { "$set":{ "favoritebook":"c++" } } ) //也可以将favorite book改成一个数组 db.user.update( { "name":"joe" }, { "$set":{ "favoritebook":[ "c++","c##","perl" ] } } ) //使用$unset 去移除 db.user.update( { "name":"joe" }, { "$unset":{ "favoritebook":1 } } ) //使用$set 修改内嵌文档 db.blog.posts.insert({ "title":"java test", "content":"this is content", "author":{ "name":"sb", "mail":"hello@gmail.com" } } ) //修改作者名字为joe zhu db.blog.posts.update( { "author.name":"sb" }, { "$set": { "author.name":"joe zhu" } } ) //$inc 修改器用来增加已有键的值,或者在键不存在的时候创建 db.games.insert( { "game":"pinball", "user":"joe" } ) //如果小球碰到了砖块,就会给玩家加分.分数随便给,这里把玩家的基数分数设做50.使用$inc 给玩家加50 db.games.update( { "game":"pinball", "user":"joe" }, { "$inc":{ "score":50 } } ) //之前分数键是不存在的,所以用$inc创建了一个score键,并加量50 //如果小球落到指定位置,那么则加上1000分. db.games.update( { "game":"pinball", "user":"joe" }, { "$inc":{ "score":1000 } } ) //现在的分数变成了50+1000=1050了 //数组修改器 //如果指定的键已经存在,那么$push就会向已有的数组末尾加上一个元素,否则就会创建一个新的数组. db.blog.posts.findOne({"author.mail":"hello@gmail.com"}); { "_id" : ObjectId("52cf9f70cae129f46ff6fa5d"), "author" : { "mail" : "hello@gmail.com", "name" : "joe zhu" }, "content" : "this is content", "title" : "java test" } //比如现在要添加一个数组comments键.并发布一条评论: db.blog.posts.update( { "author.mail":"hello@gmail.com" }, { "$push":{ comments:{ "name":"zhu", "email":"zzzzzz5530041@gmail.com", "content":"nice one" } } } ); > db.blog.posts.find() { "_id" : ObjectId("52cf9f70cae129f46ff6fa5d"), "author" : { "mail" : "hello@gmail.com", "name" : "joe zhu" }, "comments" : [ { "name" : "zhu", "email" : "zzzzzz5530041@gmail.com", "content" : "nice one" } ], "content" : "this is content", "title" : "java test" } //如果还要添加一条评论 db.blog.posts.update( { "author.mail":"hello@gmail.com" }, { "$push":{ "comments":{ "name":"yang", "email":"ss@gmail.com", "content":"nice two" } } } ) db.blog.posts.findOne() "_id" : ObjectId("52cf9f70cae129f46ff6fa5d"), "author" : { "mail" : "hello@gmail.com", "name" : "joe zhu" }, "comments" : [ { "name" : "zhu", "email" : "zzzzzz5530041@gmail.com", "content" : "nice one" }, { "name" : "yang", "email" : "ss@gmail.com", "content" : "nice two" } ], "content" : "this is content", "title" : "java test" 使用$addToSet添加新的数组元素 db.blog.posts.update( { "author.mail":"hello@gmail.com" }, { "$addToSet":{ "comments":{ "name":"yang1", "email":"ss@hot.com", "content":"nice 3" } } } ) 使用$addToSet和$each添加多个元素 db.user.update( { "_id":ObjectId("52cf9c6dcae129f46ff6fa5c") }, { "$addToSet":{ "favoritebook":{ "$each":[ "javascript", "mongo in action" ] } } } ) //有几个从数组中删除元素的方法,如果把数组看作是一个栈或者队列.可以用$pop ,这个修改器可以从数组任何一端进行删除{$pop:{key:1}}从数组末端删除1个元素,{$pop:{key:-1}}从数组头删除1个元素 db.lists.insert( { "todo":[ "dishes", "laundry", "dry cleaning" ] } ) db.lists.update( { "_id":ObjectId("52cfac11cae129f46ff6fa5f") }, { "$pop":{ "todo":-1 } } ) //有时基于特定条件来进行删除,而不是依据位置,"$pull"可以做到 db.lists.update( { "_id":ObjectId("52cfad13cae129f46ff6fa60") }, { "$pull":{ "todo":"laundry" } } ) //数组的定位修改器 //若是数数组有多个值,而我们只想对其中一部分做修改.通过位置或者定位操作符$ //数组都是从0开始的,我们可以通过下表进行访问元素 > db.blog.posts.findOne() { "_id" : ObjectId("52cfae34cae129f46ff6fa61"), "author" : { "name" : "sb", "mail" : "hello@gmail.com" }, "comments" : [ { "name" : "yang", "email" : "ss@gmail.com", "content" : "nice two", "vote" : 5 }, { "name" : "yang1", "email" : "ss@gmail.com", "content" : "nice 1", "vote" : 6 } ], "content" : "this is content", "title" : "java test" } //如果想要增加其中一个元素的投票数 db.blog.posts.update( { "_id": ObjectId("52cfae34cae129f46ff6fa61") }, { "$inc":{//这里的$inc用来做增加,也就是说vote数量将会在原有基础上增加100 "comments.0.vote":100//comments.0第1个元素 } } ) //但是在很多情况下我们并不知道每一个元素的下标,这样就不能通过位置来操作, 而是用$来操作 db.blog.posts.update( { "comments.name": "yang" //若有多个匹配,则只会操作一个 }, { "$set":{//直接设值 "comments.$.vote":300 } } ) //upsert 是一种特殊的更新方式,如果没文档符合更新条件,那么就会以这个条件和更新数据创建一个新的文档 db.user.update( { "edu":"gaozhong"//文档中没有edu==gaozhong }, { "$set":{ "age":100 } }, true//true表名这是一个upsert方式的更新 ) db.user.find() { "_id" : ObjectId("52cfb32dedd18a0edc7db7b0"), "age" : 100, "edu" : "gaozhong" }
相关推荐
Mongo DB 3.2.5官方帮助文档
Mongo DB 是一个流行的开源、基于文档的分布式数据库系统,它以JSON格式存储数据,适合处理大量半结构化和非结构化数据。可视化工具是管理和操作Mongo DB的重要辅助手段,能够帮助用户更直观地查看和操作数据库。...
Mongo DB 客户端 破解版,保证可以使用。
Mongo DB 基础培训资料,比较详细,是我同事整理总结的
MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,...
在Windows操作系统上安装MongoDB服务是开发或部署MongoDB应用的第一步。以下是对MongoDB在Windows上的安装过程以及如何配置服务的详细解释。 **一、MongoDB的下载与安装** 1. 首先,访问MongoDB的官方网站...
mongoDB客户端破解版使用方法: 解压后安装Installer-1.6.9下的Installer,然后把MongoVUE破解版目录下的MongoVUE拷贝到刚刚你安装的目录下,替换即可。
MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,...
MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,...
CI框架的mongo_db数据库扩展链接文件,有了它,CI框架链接mongo_db不在烦恼!
sql-to-mongo-db-query-converter sql-to-mongo-db-query-converter可帮助您基于SQL中提供的查询为MongoDb构建查询。玛文向com.github.vincentrussell:sql-to-mongo-db-query-converter添加依赖...
在本"mongo db demo"中,我们将深入探讨MongoDB的基本概念、安装与配置、数据模型、查询操作以及一些高级特性。 一、MongoDB基本概念 1. 文档数据库:MongoDB基于文档存储,其数据模型是JSON格式的BSON(Binary ...
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像...
Mongo DB示例代码 这是简单的Rest API中的一些样例Mongo DB代码,该代码具有基本的CRUD终结点,以供参考。 安装 要运行此示例代码,请安装npm软件包并运行server.js文件。 npm install node server Mongo DB入门 ...
node-mongodb-native, Mongo DB原生NodeJS驱动程序 描述官方的 MongoDB驱动程序。 在核心插件之上提供一个高级 API,这意味着最终用户。的MongoDB node.js-驱动程序什么地方文档http://mongodb.github.io
Mongo4Ben是一个专门为Benerator设计的Mongo DB插件,它为开发者提供了一个便捷的途径,在Benerator项目中集成和操作Mongo DB数据库。这个插件的出现使得开发人员能够在Mongo数据库实例中进行数据的存储、更新和查询...
switched to db myblog 1.3 列出所有集合 > show collections articles replicationColletion sessions users wangduanduan 2 插入数据 insert(value) // 在已经存在的集合中插入数据 > db.users.insert({name:'...
该库会启动一个真正的Mongo DB服务器,因此您必须安装Java,然后使用composer安装该库。 composer install --save-dev php-embedded-mongo 快速样品 // Create and starts an embedded Mongo DB server $ ...
总之,阿里mongo同步工具mongo-shake是MongoDB数据管理的一个强大工具,对于需要跨实例、跨集群同步数据的企业来说,它是一个值得信赖的选择。通过合理利用其功能,企业可以有效地保证数据一致性,提升系统稳定性,...
与 API兼容的Mongo DB访问层 用法 var db = require ( "dbstream-mongo" ) ; var connection = db . connect ( "mongodb://127.0.0.1:27017/test" , { collection : "test" } ) ; // write or update var cursor = ...