MongoDB : ensureIndex not working on both single key and composite keys
From hours I'm trying to add bulk data in my locally setup MongoDB collection, all is set except unique index for a key or keys :(
I've used this:
ensureIndex({appid:1, userid:1}, {unique:true, dropDups:true, background:true})
then this (coz I guess for whatever reason, multiple keys index is not working)
ensureIndex({userid:1}, {开发者_Python百科unique:true, dropDups:true, background:true})
after using above lines I tried to insert millions of rows from a php script (via both insert and batchInsert) and everytime duplicate userids are there :'( please please guide me on this :(
I have noticed that ensureIndex will not overwrite an existing index. Instead, I believe you must first delete the existing index and THEN run ensureIndex.
It is probably a good idea to look and make sure the index was created. By default write operations (like creating indexes) are fire-and-forget and don't wait for error/success. This could be a bug in the driver (php client lib).
You can run
db.coll.getIndexes()
to list the indexes for the collection.
精彩评论