Di MongoDB, saya mencoba menulis kueri di mana saya memiliki dua array input Bills
, Names
yang pertama berisi billid dan yang kedua berisi nama orang. Kenyataannya juga Tagihan di indeks i
dan Nama di indeks i
adalah dokumen sebenarnya yang ingin kita cari di MongoDB.
Saya ingin menulis kueri sedemikian rupa sehingga Bills[i] = db_billid && Names[i] = db_name
yang berarti saya ingin mengembalikan hasil di mana pada indeks tertentu billid dan nama cocok.
Saya berpikir untuk menggunakan $in
tetapi masalahnya saya dapat menerapkan $in
di Bills
tetapi saya tidak tahu di indeks mana billid itu ditemukan.
{ $and: [{ billid: { $in: Bills } }, {name: Names[**index at which this bill is found]}] }
Adakah yang bisa membantu saya bagaimana saya bisa mengatasi ini ??
Skema MongoDB
var transactionsschema = new Schema({
transactionid: {type: String},
billid: {type: String},
name: {type: String}
});
Contoh dokumen di MongoDB
{ _id: XXXXXXXXXXX, transactionid: 1, billid : bnb1234, name: "sudhanshu"}, { _id: XXXXXXXXXXX, transactionid: 2, billid : bnb1235, name: "michael"}, { _id: XXXXXXXXXXX, transactionid: 3, billid : bnb1236, name: "Morgot"}
Contoh array
Bills = ["bill1", "bill2", "bill3"], Names = ["name1", "name2", "name"]
Edit - Jika $in dapat bekerja dalam array objek maka saya dapat memiliki array objek dengan kunci sebagai billid dan nama
var arr = [{ billid: "bill1", "name": "name1"}, {billid: "bill2", "name": "name2"}, {billid: "bill3", "name": "name3" }]
Tapi masalahnya adalah bagaimana bisa meletakkan kueri di bawah ini
{ $and: [{ billid: { $in: arr.Bills } }, {name: arr.Names}] }