用javascript索引一个mongodb

Posted

技术标签:

【中文标题】用javascript索引一个mongodb【英文标题】:index a mongo db with javascript 【发布时间】:2013-09-26 13:17:41 【问题描述】:

我有存储我在 mongoDB 中创建的 html 表单的工作脚本。它工作得很棒。但是,我无法搜索我放在 mongo 中的任何数据,因为我没有索引。

我意识到我可以从控制台创建索引,但是为了让我的系统按我们需要的方式工作,我确实需要在存储数据时创建索引。所以,我需要将代码放在实际使用 node.js 或直接创建代码的 javascript 中)。

我尝试了以下 javascript(使用 node.js),但它似乎不起作用。

app.post('/:db/:collection/formSubmit', function(req, res) 
    var json = form2json.transform(req.rawBody);    
    var db = new mongo.Db(req.params.db, new mongo.Server(config.db.host, config.db.port,mongoOptions ));
        db.open(function(err, db) 
        db.authenticate(config.db.username, config.db.password, function () 
        db.collection(req.params.collection, function(err, collection) 
      collection.insert(Array.isArray(json) ? json[0] : json, function(err, docs) 
    res.header('Content-Type', 'application/json');
    if(req.is('application/xml')) 
    res.send('<ok>1<ok>')
     else 
    es.send(json, 201);       
     
// my attempt to create an index while posting a form follows
    db.core.ensureIndex(  "document": 1  )    
        db.close();
        );
    );
  );
);

);

【问题讨论】:

【参考方案1】:

您需要在收藏上致电ensureIndex

collection.ensureIndex( "document": 1 , function (err, indexName)     
    db.close();
);

【讨论】:

以上是关于用javascript索引一个mongodb的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript数组

JavaScript为啥用push方法为数组添加新的索引的时候,会出现这种情况?

JavaScript数组总汇

[js]javascript索引

JavaScript中对数组和数组API的认识

为啥用变量调用数组索引是不好的做法?