5

ノードにmongodbネイティブドライバーを使用しています。ensureIndex({ keywords: 1})コレクションを取得した後に呼び出します。mongo コンソールにチェックインすると、 を呼び出しても何も表示されませんdb.mycol.getIndexes()

私は何を間違っていますか?

4

2 に答える 2

2

APIドキュメントは少し役に立ちました:http://mongodb.github.com/node-mongodb-native/api-generated/db.html#ensureindex

コレクションではなく、データベースオブジェクトでensureIndexを呼び出すことになっています。これはJavaScriptコンソールと矛盾します。

于 2012-11-05T12:29:19.457 に答える
0

同様の問題が発生しました。問題は、ensureIndex を呼び出す前にデータベースを開いていなかったことです。私がしていたのは(コーヒースクリプト)

db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
        console.log indexName
        console.log err
        db.close()

そしてうまくいったのは

db.open (err,database) ->
    db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
        console.log indexName
        console.log err
        db.close()

最初のスニペットは何もしませんでした。インデックスは作成されず、エラーはスローされませんでした。

于 2014-04-09T21:31:46.600 に答える