Esto es una continuación de Creación de múltiples índices a la vez , donde actualmente estoy utilizando los siguientes comandos
db.test_collection_data.createIndex({"uId" : 1, "name" : 1}, {unique : 1}) db.test_collection_data.createIndex({"uId" : "hashed"}) db.test_collection_data.createIndex({"uId" : 1, "products" : 1}) db.test_collection_data.createIndex({"bId" : 1})Quiero entender cuál es la forma correcta de transformar esto en un solo comando para ejecutarlo en el servidor. Mis intentos fallidos son los siguientes:
#uniqueness is lost for the first index db.test_collection_data.createIndexes( [ {"uId" : 1,"name":1}, {"uId" : "hashed"}, {"uId" : 1,"products":1}, {"bId" : 1} ] ) #unable to create since products are not really unique db.test_collection_data.createIndexes( [ {"uId" : 1,"name":1}, {"uId" : "hashed"}, {"uId" : 1,"products":1}, {"bId" : 1} ], { unique: true } )Esto es una continuación de Creación de múltiples índices a la vez ,
Hay una respuesta que proporciona la referencia a createIndexes , el comando createIndexes toma la forma de runCommand : podría usar, sintaxis y ejemplo ,
Your database name de la colección en test_collection_data , db.getSiblingDB("Your database name").runCommand( { createIndexes: "test_collection_data", indexes: [ { key: { "uId": 1, "name": 1 }, unique : true, name: "_uId_name_" }, { key: { "uId": "hashed" }, name: "_uId_" }, { key: { "uId": 1, "products": 1 }, name: "_uId_products_" }, { key: { "bId": 1 }, name: "_bId_" } ] } )