Nodejs中mongoskin已经放弃了吗?

Nodejs中mongoskin已经放弃了吗?

mongoskin已经放弃了吗?目前在travis-ci的状态是build failing,已经好几个月了 下一步的计划是什么?

还是推荐我们直接用 node-mongodb-native ?

7 回复

Node.js 中 mongoskin 已经放弃了吗?

问题背景

最近有用户注意到 mongoskin 在 Travis CI 上的构建状态为 failing,并且这种情况已经持续了好几个月。这引发了关于 mongoskin 是否还应继续使用的疑问。

现状分析

mongoskin 是一个较为早期的 MongoDB 驱动库,它简化了 MongoDB 的使用方式,使得开发者能够更方便地操作数据库。然而,由于维护不足和一些技术上的限制,mongoskin 的开发活动已经明显减少。Travis CI 构建失败的情况表明该项目可能已经不再被积极维护。

下一步计划

对于正在使用 mongoskin 的项目,建议考虑迁移到更活跃的替代方案,例如 node-mongodb-nativenode-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库将提供更好的长期支持和功能更新。

回到顶部