Te damos el arreglo a esta duda, o por lo menos eso deseamos. Si tienes preguntas puedes dejar un comentario, que sin dudarlo te responderemos
Solución:
Estoy aquí porque vi 5k vistas en esta publicación, estoy agregando algunas cosas que pueden ayudar a otros que buscan la respuesta anterior
db.collectionName.insertOne(
'links': [
"text" : "XYZ",
"url" : "www.xyz.com"
]
);
ahora ejecute esta consulta que ayuda a reemplazar los datos más antiguos
db.collectionName.update(
_id: ObjectId("your object Id")
,
$set:
'links':[
"text" : "XYZ1",
"url" : "www.xyz.com1"
]
);
Creo que tienes que hacer algo como esto:
var newArray = new BSONArray
new BSONDocument "text", "XYZ" , "url", "www.xyz.com" ,
new BSONDocument "text", "efg" , "url", "www.efg.com" ,
new BSONDocument "text", "ijk" , "url", "www.ijk.com"
;
var update = Update.Set( "links", newArray );
collection.Update( query, update );
O cualquier método que pueda convertir como un BSONValue válido.
Tan equivalente a shell:
"links" : [ "text" : "abc" ]
> db.collection.update(
,
$set:
links: [
text: "xyz", url: "something" ,
text: "zzz", url: "else"
]
)
>db.collection.find(, _id: 0, links:1 ).pretty()
"links" : [
"text" : "xyz",
"url" : "something"
,
"text" : "zzz",
"url" : "else"
]
Eso funciona.
Claramente necesita algo más que el código incrustado. Pero espero que eso te ponga en el camino correcto.
valoraciones y comentarios
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)