রানটাইমে কোয়ারি তৈরি করতে জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করুন।
নমুনা ডেটা
> db.dynamicQueryDemo.insertOne({"Name": "John", "Subject": ["MongoDB", "MySQL"]});
> db.dynamicQueryDemo.insertOne({"Name": "John", "Subject": ["C", "C++"]});
ডাইনামিক কোয়ারি ফাংশন
> function findDocument(subject) {
var find = {};
if (subject.length == 0) find["$nin"] = subject;
else find["$in"] = subject;
return find;
}
> var sub = ["MySQL", "MongoDB"];
> var myDoc = findDocument(sub);
> db.dynamicQueryDemo.aggregate([{$match: {"Subject": myDoc}}]);
ফলাফল
MySQL বা MongoDB বিষয় থাকা ডকুমেন্টগুলো রিটার্ন হবে।