MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :rechercher des objets dont les noms de champ commencent par

Vous pouvez utiliser l'agrégation ci-dessous en utilisant $objectToArray dans mongodb 3.4 et plus

db.collection.aggregate([
  { "$addFields": {
    "field": { "$objectToArray": "$$ROOT" }
  }},
  { "$match": { "field.k": { "$regex": "need_" }}},
  { "$project": { "field": 0 }}
])

Vous donnera sortie

[
  {
    "_id": 1,
    "need_more": 1,
    "need_some": "A",
    "website_id": "123456789"
  },
  {
    "_id": 2,
    "need_more": 2,
    "website_id": "123456789"
  }
]