0

私はこの問題を理解しようとするのに苦労しています。

基本的に、一致したすべてのレコードを次のような番号で更新するコレクション レベルの更新を発行しようとしています。

# I actually am using PHP driver but using the console has the same result
db.my_collection.update( {si: '647522529'}, {$set: {cl:'2'}} );

上記は、si='647522529' であるすべてのレコードを検索し、cl='2' を更新する必要があります。

問題は、上記のコマンドがエラーや警告を表示しないため、適切に実行されたように見えますが、「cl」キーで個別のコマンドを実行すると、さまざまな結果が得られることです (2/1):

> db.runCommand( { distinct: 'my_collection', key: 'cl', query: { si: '647522529' } } )
{
        "values" : [
                "2",
                "1"
        ],
        "stats" : {
                "n" : 113,
                "nscanned" : 113,
                "nscannedObjects" : 113,
                "timems" : 1,
                "cursor" : "BtreeCursor si_1"
        },
        "ok" : 1
}

私は何か間違ったことをしていますか?データベースの再インデックスを試みましたが、効果もありませんでした。

どんな助けでも大歓迎です!

4

2 に答える 2

0

db.my_collection.update(Criteria, Update, multi:true)

これはうまくいくはずです!

参照: http://docs.mongodb.org/manual/tutorial/modify-documents/

于 2013-10-09T00:57:10.857 に答える