mongodb入门

本文介绍了MongoDB的基础操作,包括启动服务、查看数据库、创建数据库、插入、查询、更新、删除文档以及游标的使用。通过实例展示了各种查询条件,如相等、比较、子文档、数组条件和复合查询,并讲解了限制结果集、更新文档及删除文档的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇文章写了如何安装:http://blog.csdn.net/stronglyh/article/details/46805373

这篇来讲讲mongodb入门

首先看服务有没有打开,打开服务有两种方式,第一种是使用dos命令:NET START MongoDB   (前提是我们安装mongodb的时候命名的服务名就是MongoDB),第二种方式是打开控制面板--》管理工具--》服务  然后找到MongoDB这个服务,看其是否开启状态。

开启完毕之后,先进入dos命令对话框,然后进入到mongodb安装目录的bin文件夹下

这个时候,我们可能在想会不会有好几个库,oracle中是show database,然后mongodb中有所区别,mongodb中的命令是show dbs

下面我们创建一个新的库,一般我们使用use方法就能创建一个库了

呵呵,是不是出现了

1:插入

 db.users.insert({name:"hhh",age:26})

2:批量插入

db.users.insert([{name:"tommy"},{name:"xiaoming"}])

3:查询文档

db.users.find();

3.1 相等条件

db.users.find({age:26})

3.2 比较条件

大于($gt)、大于等于($gte)、小于($lt)、小于等于($lte)、不等于($ne)、包含于($in)、不包含于($nin)。

比如db.user.find({age:{$lt:30}})

3.3 子档案

db.mycol.find({"access.level":5});

3.4  数组条件

数组完全匹配:

db.inventory.find( { tags: [ 'fruit', 'food', 'citrus' ] } );
单个元素匹配:

db.inventory.find( { tags: 'fruit' } );
特定元素匹配:

db.inventory.find( { 'tags.0' : 'fruit' } );


3.5 复合查询

查询inventory集合中type字段为food并且价格低于95的所有文档。

db.inventory.find({$and:[{type: "food"},{ price: { $lt: 95 }}]});


inventory集合中检索数量(qty)大于100或者($or)价格(price)小于9.95的所有数据。

db.inventory.find( {
                     $or: [
                            { qty: { $gt: 100 } },
                            { price: { $lt: 9.95 } }
                           ]
                    } );


3.6 限制条件

limit

db.users.find().limit(3)前三条数据

3.7 想要的结果集

传统的写法是结果集现实所有的字段,如果只想现实其中几个字段呢-------------

db.collection.find( 查询条件,字体条件 )
参数:
字段条件:JSON对象,格式=>{字段:值},值等于1时表示需要返回,0时表示不需要返回。

举例 db.users.find({},{status:1,age:1}


4:更新文档

db.collection.update(query,update,{upsert:boolean,multi:boolean});

参数:

query:查询条件,文档,和find中的查询条件写法一致。

update:修改内容,文档。
upsert(可选):如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。

multi(可选):如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。

举例:

修改年龄大于19岁的,让其状态为A

db.users.update(

{age:{$gt:19}},

{$set:{status:"A"}})


查询:岁数大于19的文档:db.users.find({age:{$gt:19}})

我们查询到了刚才更新的那句话了


5:单文档进行操作,命令save:db.collection.save();

db.users.save({name: 'zhangsan', age: 25, sex: true});


6:删除

比如删除状态为A的

db.users.remove({status:"A"})

先查询一下是否存在

db.users.find({status:"A"})

然后之后删除语句,执行完之后执行查询语句,发现已经被删除


6:游标

find命令并不直接返回结果,而是返回一个结果集的迭代器,即游标。

想要获取数据,我们可以使用next方法来遍历游标,如下:

var myCursor = db.inventory.find( { type: "food" } );
var myDocument = myCursor.hasNext() ? myCursor.next() : null;
 
if (myDocument) {
    var myItem = myDocument.item;
    print(tojson(myItem));
}
使用forEach方法也能实现游标的遍历,如下:

var myCursor =  db.inventory.find( { type: "food" } );
myCursor.forEach(printjson);


下一篇文章讲mongodb进阶。敬请关注




对于 MongoDB入门,你可以按照以下步骤进行学习: 1. 下载并安装 MongoDB:在 MongoDB 的官方网站上下载适合你操作系统的安装程序,并按照提示进行安装。 2. 启动 MongoDB 服务:安装完成后,启动 MongoDB 服务。在 Windows 上,你可以通过运行 `mongod` 命令启动服务。在 macOS 或 Linux 上,可以打开终端并运行 `mongod` 命令。默认情况下,MongoDB 会在本地的 27017 端口上启动。 3. 连接到 MongoDB:在另一个终端窗口或命令提示符中,使用 `mongo` 命令连接到 MongoDB。默认情况下,它会连接到本地的 MongoDB 服务器。 4. 创建数据库:在 `mongo` shell 中,可以使用 `use <database_name>` 命令创建一个新数据库,例如 `use mydb`。 5. 创建集合(表):集合类似于关系数据库中的表。你可以使用 `db.createCollection("<collection_name>")` 命令创建一个新集合,例如 `db.createCollection("mycollection")`。 6. 插入数据:使用 `db.<collection_name>.insertOne(<document>)` 命令将数据插入到集合中。例如,`db.mycollection.insertOne({ name: "John", age: 30 })`。 7. 查询数据:使用 `db.<collection_name>.find()` 命令查询集合中的所有数据。例如,`db.mycollection.find()`。 8. 更新数据:使用 `db.<collection_name>.updateOne(<filter>, <update>)` 命令更新集合中的数据。例如,`db.mycollection.updateOne({ name: "John" }, { $set: { age: 35 } })`。 9. 删除数据:使用 `db.<collection_name>.deleteOne(<filter>)` 命令删除集合中的数据。例如,`db.mycollection.deleteOne({ name: "John" })`。 这是一个 MongoDB 入门的基本流程。你可以根据需要进一步学习和探索 MongoDB 的更多功能和用法。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值