如何以编程方式为数据库启用分片,然后使用node.js mongodb驱动程序对集合进行分片?

时间:2014-10-28 09:48:31

标签: node.js mongodb

我有以下nodejs脚本,该脚本当前创建了一些试用数据库,然后创建了一个集合并将一个示例条目插入到集合中。现在我想为数据库启用分片,然后根据散列id字段对集合进行分片。我怎么能这样做?

代码中的hostport指向mongos正在运行的位置。

var mongoClient = require('mongodb').MongoClient;
var name = "sampledb";

function start() {
    for (var i=4;i<20;++i) {
        var dbname = name + i;
        mongoClient.connect("mongodb://" + host + ":" + port + "/" + dbname, function(err, db) {
            if(err) {
                console.log("Error connecting to db");
                process.exit(0);
            }
            db.createCollection("messages", function(err_, result_) {
                if (err_) {
                    console.log("Error while creating collection");
                    process.exit(0);
                }
                db.collection("messages").insert({"id":"<random id>"}, {w:0}, function(err, result) {
                    if(err) {
                        console.log("Could not insert document");
                    } else {
                        console.log("Successfully inserted document");
                    }
                });
                //now shard the collections created
            });
        });
    }
}

start();

我无法抓住我的问题的正确文件,有人可以帮助我...谢谢。

0 个答案:

没有答案