यह एक mongo
है MongoDB v4.2.8 के साथ शेल क्वेरी।
इस इनपुट दस्तावेज़ पर विचार करें:
{
"_id" : 1,
"name" : "john",
"stuff" : {
"mycolor" : "red",
"fruit" : "apple",
"mybook" : "programming gems",
"movie" : "star wars"
}
}
लक्ष्य प्रोजेक्ट . करना है name
और stuff
फ़ील्ड, लेकिन stuff
"my"
. से शुरू होने वाले केवल फ़ील्ड नामों के साथ ।
एकत्रीकरण क्वेरी:
db.test.aggregate([
{
$project: {
_id: 0,
name: 1,
stuff: {
$filter: {
input: { $objectToArray: "$stuff" },
as: "stf",
cond: { $regexMatch: { input: "$$stf.k" , regex: "^my" } }
}
}
}
},
{
$addFields: { stuff: { $arrayToObject: "$stuff" } }
}
])
और, अनुमानित आउटपुट:
{
"name" : "john",
"stuff" : {
"mycolor" : "red",
"mybook" : "programming gems"
}
}