sql >> Database teknologi >  >> NoSQL >> MongoDB

Returner kun matrixværdi i mongoprojektion

JSON tillader ikke, at topniveauet er et array, så en normal forespørgsel tillader ikke dette. Du kan dog gøre dette med aggregeringsrammen:

> db.test.remove();
> db.test.insert({ name: "Andrew", attributes: [ { title: "Happy"}, { title: "Sad" } ] });
> foo = db.test.aggregate( { $match: { name: "Andrew" } }, { $unwind: "$attributes" }, { $project: { _id: 0, title: "$attributes.title" } } );
{
    "result" : [
        {
            "title" : "Happy"
        },
        {
            "title" : "Sad"
        }
    ],
    "ok" : 1
}
> foo.result
[ { "title" : "Happy" }, { "title" : "Sad" } ]

Dette skaber dog ikke et markørobjekt, som find gør.




  1. Hvordan fjerner man _id i MongoDB og erstatter med et andet felt som en primær nøgle?

  2. Beregn en score fra et eksisterende felt med betingelser

  3. Node, Mongoose:Fjern json-elementet fra forespørgselsresultatet med delete

  4. Mongoose udvide standard validering