varios update relacionados insertar documentos diferente consultas comandos anidadas actualizar mongodb

update - ¿Cómo verificar si un campo de matriz contiene un valor único u otra matriz en MongoDB?



mongodb documentos relacionados (2)

Mi experiencia es que para (2) la siguiente solución es mucho más rápida que la que tiene "$ all":

db.blogpost.find({ $and: [ {tags: ''tag1''} ,{tags: ''tag2''} ] });

pero para ser honesto, no sé por qué. Me interesaría, si alguien sabe.

Estoy usando mongodb ahora.

Tengo una colección de blogposts, y blogpost tiene una etiqueta archivada que es una matriz, por ejemplo

blogpost1.tags = [''tag1'', ''tag2'', ''tag3'', ''tag4'', ''tag5''] blogpost2.tags = [''tag2'', ''tag3''] blogpost3.tags = [''tag2'', ''tag3'', ''tag4'', ''tag5''] blogpost4.tags = [''tag1'', ''tag4'', ''tag5'']

¿Cómo puedo hacer estas búsquedas?

  1. contiene ''tag1''
  2. contiene [''tag1'', ''tag2''],
  3. contiene cualquiera de [''tag3'', ''tag4'']

Probar esto:

db.blogpost.find({ ''tags'' : ''tag1''}); //1 db.blogpost.find({ ''tags'' : { $all : [ ''tag1'', ''tag2'' ] }}); //2 db.blogpost.find({ ''tags'' : { $in : [ ''tag3'', ''tag4'' ] }}); //3