mongodb作为非关系型数据库(NoSql),它的可以由以下的结构组成,文档,集合,数据库。
其中mongodb的基本单元是文档,这类似于关系型数据库中的行,但从深处将,文档又比行要复杂的多。文档的格式类似于javascript中的json对象类型,如果你有 json的基础,mongodb对你来说,不会显得太陌生。文档是由多个键值有序的组合在一起
集合类似关系型数据库中的表,多个文档组成集合,但是与关系型数据库不同的是,文档中的键值对是可以随意排放的,也就是说,集合中的文档是可以任意去设置的,这取决于你的需要,不过相信应该没有人会将不同的数据放到一个集合里面。
最后呢,多个集合又组成了数据库。
OK,现在是不是很明白了,mongodb并不像想象中的那么难以理解,如果真是那样,开发者还开发mongodb做什么。
下面说一些cmd下对mongodb的操作:
首先要确保服务已经开启。
d:\mongodb\bin>mongo
现在就已经链接成功了,之后就是对mongodb进行的一系列操作。
查看数据库列表
> show dbs而如果要选择数据库,就如同mysql一样。
> use db
在这里需要说的是,use既可以使用既有的数据库,又可以新建另一个名称的数据库,打个比方,如果我的mongodb实例中没有db的数据库,但是通过 use db,会新建一个名称为db的空白数据库。
在此通过db命令可以查看现在所选择的db
> db
> show collections这条语句将显示出所选数据库的集合。
下面对news进行操作,下面两个是增加和查找
> db.news.insert({name:'1'})
> db.news.find({name:'1'})
如果这样看,可能会认为我的文档结构就是这样的,事实上不是的,下面我通过取出一条原先db集合中的文档
> db.news.findOne({name:{$ne:'1'}})
这说明了,集合中文档的结构是可以不一致的,但是不一致的结构会将你的网站,你的程序弄得乱糟糟的,最后你会不得不重新规划数据结构,如果因此而说mongodb处理能力弱,就真的是不好了。
上面说了最简单的增加和查找,现在说修改以及删除。
删除操作:
> db.news.remove({_id: ObjectId("53edd90a9c937c963d78d0e1")})这是将news集合中_id 等于ObjectId("53edd90a9c937c963d78d0e1")的文档删除,这里的_id就如mysql数据库中的主键,但是他们的类型不同
由此可以看到,news集合中_id 等于ObjectId("53edd90a9c937c963d78d0e1")的文档已经被删除。这与mysql中的:‘ delete form 表名 where id = xxx ’ 效果是一致的。
mongodb中的修改操作也不难使用,通过update进行实现,他需要至少两个参数,一个是更新的限制条件,另一个是新的文档。
我先增加一条文档
> post={'name':'tom',age:12}
> db.news.insert(post)
> db.news.find({age:12}).limit(1)
现在我插入了一条新的文档,但是现在呢,我需要给这个文档添加一个新的属性
> post.address='中国'
> post.love=['动画片','玩游戏']
> db.news.update({name:'tom',age:12},post)
mongodb的修改操作还可以通过与$set等实现
例如:我将tom的address改为美国
> db.news.update({name:'tom',age:12},{$set:{address:'美国'}})
好了,关于mongodb的增删改查就说这么多了,当然,mongodb还有很多聚合用法,这个在之后的文章中会提到。
注:文中有些截图与实际的数据不符,是因为文章发布后很多图片不显示,之后又补上的图片,但是原理是没有错的。
window的mongodb如何用cmd操作 cmd打开mongodb
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python操作mongodb
python操作mongodb
mongodb python