MongoDB资料

收集整理的mongodb学习资料,与大家分享。 包括: MongoDB 概念理解.pdf MongoDB_使用手册-中文版.pdf MongoDB使用手册.pdf Mongodb文档 与 php操作.pdf MongoDB应用.pdf =========================================== 常用命令: mongod.exe --dbpath "d:\mongodb\data\db" --directoryperdb --logpath "d:\mongodb\data\logs" --logappend mongo.exe >show dbs >use memo //使用 数据库 memo >show collections //列出当前数据库的collections >db //显示当前数据库 >show users //列出用户 help //更多语法 创建数据库与数据集合: >db >show dbs >use test2 >db.createCollection("t_test"); >use test2 >db >t={name:"hb",addr:"shanghai"}; >db.t_test.find(); >db.t_test.save(t); >db.t_test.find(); >db.t_test.insert({name:"test",addr:"beijing"}); >db.t_test.save({name:"test2",addr:"tianjin",phone:"025-0001"}); 数据查询: db.t_test.find() //select * from t_test db.t_test.find().limit(2) //select * from t_test limit 2 db.t_test.find().sort({x:1}) //select * from t_test order by x asc db.t_test.find().sort({x:1}).skip(2).limit(3) //select * from t_test order by x asc limit 2,3 db.t_test.find({x:10}) //select * from t_test where x = 10 db.t_test.find({x:{$lt:10}}) //select * from t_test where x<10 db.t_test.find({x:{$in:["01","03","10"]}}); // select * from t_test where x in ("01","03","10") db.t_test.find({},{y:true}) //select y from t_test db.t_test.find().count(); db.t_test.find({"address.city":"gz"}) //搜索嵌套文档address中city值为gz的记录 db.t_test.find({likes:"math"}) //搜索数组 db.t_test.ensureIndex({"address.city":1}) //在嵌套文档的字段上建立索引 更新数据: db.t_text.update({},{}) //第一个参数是查询对象,第二个是替代对象,要使用$set db.t_test.update({name:"test"},{$set:{addr:"shenZheng"}}); db.t_test.find(); 数据删除: db.t_test.remove({name:"test2"}); //删除数据 db.t_test.find(); show collections db.t_test.drop(); //删除数据集合(表) use test2 db.dropDatabase(); 索引: db.t_test.ensureIndex({productid:1}) //在productid上建立普通索引 db.t_test.ensureIndex({productid:1,plate:1}) //多字段索引 db.t_test.ensureIndex({productid,1},{unique:true}) //唯一索引 备份与恢复: mongodump.ext --help mongodump.ext -d test -o ../data/backup/test //备份数据库test中所有的数据集合 mongorestore.exe --help mongorestore.exe -d
### 连接到 MongoDB 数据库 将手机应用连接到 MongoDB 数据库通常涉及使用 MongoDB 提供的官方驱动程序或通过 REST API 间接连接。以下是针对 Android 和 iOS 平台的两种常见方法。 --- #### 使用 MongoDB 官方驱动程序 对于 Android 平台,可以使用 MongoDB 的官方 Java 驱动程序来连接数据库。首先,需要在项目的 `build.gradle` 文件中添加依赖项: ```gradle dependencies { implementation 'org.mongodb:mongodb-driver-sync:4.9.0' } ``` 接着,可以通过以下代码示例连接到 MongoDB 数据库: ```java import com.mongodb.client.MongoClients; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoDatabase; public class MongoDBConnection { public static void main(String[] args) { String uri = "mongodb://127.0.0.1:27017"; MongoClient mongoClient = MongoClients.create(uri); MongoDatabase database = mongoClient.getDatabase("mytest"); System.out.println("Connected to database"); } } ``` 这段代码展示了如何创建一个 MongoClient 实例并连接到名为 `mytest` 的数据库 [^3]。 --- #### 通过 REST API 间接连接 另一种方法是通过 REST API 间接连接 MongoDB 数据库。这种方法适用于需要通过网络进行通信的应用程序,尤其是当数据库不在本地时。可以使用 Node.js 创建一个简单的 REST API: ```javascript const express = require('express'); const MongoClient = require('mongodb').MongoClient; const app = express(); const port = 3000; const uri = "mongodb://127.0.0.1:27017"; const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); app.get('/data', async (req, res) => { try { await client.connect(); const collection = client.db("mytest").collection("cc"); const data = await collection.find({}).toArray(); res.json(data); } catch (err) { console.error(err); res.status(500).send('Server Error'); } finally { await client.close(); } }); app.listen(port, () => { console.log(`Server running on port ${port}`); }); ``` 这段代码创建了一个简单的 Express 服务器,该服务器提供了 `/data` 端点来获取 MongoDB 数据库中的数据 [^2]。 --- #### 安全性和最佳实践 在实际部署时,需要注意安全性和最佳实践。例如,确保数据库连接字符串的安全性,避免将其硬编码在客户端代码中。可以考虑使用环境变量或者配置文件来存储敏感信息。此外,对于生产环境,应该启用身份验证和加密传输,以保护数据的安全性 [^1]。 --- #### 总结 无论是直接使用 MongoDB 的官方驱动程序还是通过 REST API 间接连接,都有其适用场景。直接连接适用于简单的应用场景,而通过 REST API 则更适合复杂的网络环境和安全性要求较高的情况。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值