Nodejs中mongoskin已经放弃了吗?
Nodejs中mongoskin已经放弃了吗?
mongoskin已经放弃了吗?目前在travis-ci的状态是build failing,已经好几个月了 下一步的计划是什么?
还是推荐我们直接用 node-mongodb-native ?
Node.js 中 mongoskin 已经放弃了吗?
问题背景
最近有用户注意到 mongoskin
在 Travis CI 上的构建状态为 failing
,并且这种情况已经持续了好几个月。这引发了关于 mongoskin
是否还应继续使用的疑问。
现状分析
mongoskin
是一个较为早期的 MongoDB 驱动库,它简化了 MongoDB 的使用方式,使得开发者能够更方便地操作数据库。然而,由于维护不足和一些技术上的限制,mongoskin
的开发活动已经明显减少。Travis CI 构建失败的情况表明该项目可能已经不再被积极维护。
下一步计划
对于正在使用 mongoskin
的项目,建议考虑迁移到更活跃的替代方案,例如 node-mongodb-native
。node-mongodb-native
是官方支持的 MongoDB 驱动库,它提供了更好的性能、更多的功能以及更频繁的安全更新。
示例代码:从 mongoskin 迁移到 node-mongodb-native
以下是将现有 mongoskin
代码迁移到 node-mongodb-native
的简单示例:
1. 安装 node-mongodb-native
首先,需要安装 mongodb
包:
npm install mongodb
2. 更新代码
假设你之前使用 mongoskin
的代码如下:
var mongo = require('mongoskin');
var db = mongo.db("localhost:27017/mydb");
db.collection('users').find().toArray(function(err, items) {
console.log(items);
});
现在使用 node-mongodb-native
进行重构:
const { MongoClient } = require('mongodb');
async function run() {
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);
try {
await client.connect();
const database = client.db('mydb');
const collection = database.collection('users');
const cursor = collection.find({});
const items = await cursor.toArray();
console.log(items);
} finally {
await client.close();
}
}
run().catch(console.error);
总结
尽管 mongoskin
在过去是一个流行的 MongoDB 驱动库,但鉴于其当前的状态和未来的不确定性,建议转向 node-mongodb-native
。这样不仅能够确保你的应用获得最佳的性能和安全性,还能利用到更丰富的功能和社区支持。
mongoose也不错的
mongoose怎么样呢?
目前监狱我跟桂林 都没有使用mongo,基本停止了,如果你有能力,请接棒继续
你在用什么呢?
以前一直mongoskin, 玩一玩,用mongolian和 mongoskin确实足够了,等静下来,准备脚踏实地的写一个web app时,复杂性,就不是一个Blog那么简单了。
复杂性上来了,必要的数据结构文档最好写下来的,一旦落实到文档上,你会发现文档可以用mongoose写。 数据校验什么的,mongoose也可以很好的支持,何乐而不为呢?
Nodejs中的mongoskin
库确实已经不再被积极维护,这可以从其在Travis CI上的构建失败状态看出。因此,不建议再在新项目中使用mongoskin
。取而代之的是,可以考虑使用更现代且活跃维护的库,如mongodb
(也称为node-mongodb-native
)。
示例:使用 mongodb
库连接MongoDB
const { MongoClient } = require('mongodb');
async function run() {
const uri = "your_mongodb_connection_string"; // 这里替换为你的MongoDB连接字符串
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
console.log("Connected to MongoDB");
const database = client.db('testdb'); // 使用你自己的数据库名称
const collection = database.collection('testcollection'); // 使用你自己的集合名称
// 插入文档
const doc = { name: 'John Doe', age: 30 };
const result = await collection.insertOne(doc);
console.log(`Inserted document with id: ${result.insertedId}`);
// 查询文档
const query = { name: 'John Doe' };
const foundDoc = await collection.findOne(query);
console.log(`Found document:`, foundDoc);
} catch (err) {
console.error(err.stack);
} finally {
await client.close();
}
}
run().catch(console.dir);
这段代码展示了如何使用mongodb
库连接到MongoDB,并执行基本的CRUD操作。首先通过连接字符串创建一个客户端实例,然后选择数据库和集合。插入一个文档并查询该文档以验证操作成功。
由于mongoskin
已不再维护,转向mongodb
库将提供更好的长期支持和功能更新。