mongodb একাধিক অ্যারে আইটেম দ্বারা সন্ধান করুন


98

আমার যদি এরকম রেকর্ড থাকে;

{
  "text": "text goes here",
  "words": ["text", "goes", "here"]
}

এটি থেকে মঙ্গোডিবিতে আমি কীভাবে একাধিক শব্দের সাথে মিল রাখতে পারি? একটি শব্দের সাথে মিলে গেলে আমি এটি করতে পারি;

db.find({ words: "text" })

তবে আমি যখন একাধিক শব্দের জন্য এটি চেষ্টা করি তখন এটি কার্যকর হয় না;

db.find({ words: ["text", "here"] })

আমি অনুমান করছি যে অ্যারে ব্যবহার করে এটি পৃথক সামগ্রীর সাথে মিলে না গিয়ে রেকর্ডটিতে থাকা একটির সাথে পুরো অ্যারের সাথে মেলে চেষ্টা করে।

উত্তর:


174

যেখানে আপনি wordsউভয় উপাদান ( textএবং here) ব্যবহার করে এমন দস্তাবেজগুলি সন্ধান করার চেষ্টা করছেন তা নির্ভর করে $all:

db.things.find({ words: { $all: ["text", "here"] }});

বা তাদের ( textবা here) ব্যবহার করে $in:

db.things.find({ words: { $in: ["text", "here"] }});

4
এটি আমাকেও সহায়তা করেছিল, একটি অ্যারেতে একটি আইডি খুঁজে পেতে আমার এটির দরকার ছিল এবং যেখানে $ ইন: [অবজেক্টআইড ("4f9f2c336b810d0cf0000017")] ব্যর্থ হয়েছে, $ ইন: ["4f9f2c336b810d0cf0000017"] কাজ করেছে
jbnunn

ম্যাঙ্গোডব সমর্থন পৃষ্ঠায় ডকস.মোংডব.অর্গ / ম্যানুয়াল /
বিবেক বাজপাই

4
এটি অ্যারে লুপিং করা এবং একক অনুসন্ধান () সম্পাদন করার চেয়ে ভাল?
রোহিত নায়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.