代码改变世界

MongoDB操作

  owsir  阅读(234)  评论(0编辑  收藏  举报

cd mongodb\bin

>mongo

设计数据库,输入:

use yourDbName\创建一个叫yourDbName的数据库

db.createCollection(“users”) \创建一个集合

db.users.insert({“name”:“admin”,“password”:“111”}) \给users集合添加一个文档

db.users.find() \查询你添加的文档

 

mongoose

mongoose 是个 odm。odm 的概念对应 sql 中的 orm。也就是 ruby on rails 中的 activerecord 那一层。orm 全称是 Object-Relational Mapping,对象关系映射;而 odm 是 Object-Document Mapping,对象文档映射。

它的作用就是,在程序代码中,定义一下数据库中的数据格式,然后取数据时通过它们,可以把数据库中的 document 映射成程序中的一个对象,这个对象有 .save .update 等一系列方法,和 .title .author 等一系列属性。在调用这些方法时,odm 会根据你调用时所用的条件,自动转换成相应的 mongodb shell 语句帮你发送出去。自然地,在程序中链式调用一个个的方法要比手写数据库操作语句具有更大的灵活性和便利性。

 

mongo数据库命令行常用命令

help                                     #mongodb支持的命令
show dbs                                 #查看所有数据库
use test
db                                       #查看当前连接在哪个数据库
show collections                         #查看所有的collection 
db.help()                                #当前数据库支持哪些方法
db.user.help()                           #当前数据库下的表或者表collection支持的方法
 
db.foo.find()                            #查找所有
db.foo.findOne()                         #查找一条记录
db.foo.find({'msg':'Hello 1'}).limit(10) #根据条件检索10条记录
 
db.mail_addr.drop()                      #删除collection
db.dropDatabase()                        #删除当前的数据库
db.foo.remove({'yy':5})                  #删除yy=5的记录 
db.foo.remove()                          #删除所有的记录
 
#存储嵌套的对象
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
 
#存储数组对象
db.user_addr.save({'Uid':'yushunzhi[@sohu](/user/sohu).com','Al':['test-1[@sohu](/user/sohu).com','test-2[@sohu](/user/sohu).com']})
 
#根据query条件修改,如果不存在则插入,允许修改多条记录
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示