মঙ্গোডিবি সমান নয়


102

আমি মংগোডিবিতে একটি কোয়েরি প্রদর্শন করার চেষ্টা করছি যেখানে একটি পাঠ্য ক্ষেত্র '' (ফাঁকা) নেই

{ 'name' : { $not : '' }}

তবে আমি ত্রুটি পেতে invalid use of $not

আমি ডকুমেন্টেশন সন্ধান করেছি কিন্তু তারা যে উদাহরণগুলি ব্যবহার করে তা জটিল মামলার জন্য (রেজিএক্সপ্যাক্স এবং $notঅন্য অপারেটরকে অবহেলা করার সাথে )।

আমি যে সাধারণ কাজটি করার চেষ্টা করছি তা কীভাবে করব?

উত্তর:


147

ব্যবহার $ne- $notমানক অপারেটর দ্বারা অনুসরণ করা উচিত:

উদাহরণস্বরূপ $ne, যা সমান নয়:

use test
switched to db test
db.test.insert({author : 'me', post: ""})
db.test.insert({author : 'you', post: "how to query"})
db.test.find({'post': {$ne : ""}})
{ "_id" : ObjectId("4f68b1a7768972d396fe2268"), "author" : "you", "post" : "how to query" }

এবং এখন $not, যা প্রাকটিক ( $ne) গ্রহণ করে এবং এটিকে উপেক্ষা করে ( $not):

db.test.find({'post': {$not: {$ne : ""}}})
{ "_id" : ObjectId("4f68b19c768972d396fe2267"), "author" : "me", "post" : "" }

4
কৌতূহলী যারা $ne"সমান নয়" বোঝায়।
আব্রাহাম

1
এই উত্তরে প্রচুর ভোট রয়েছে, তবে ব্যাখ্যাটি খুব অস্পষ্ট। $ না এবং that নে উভয় উদাহরণে কী ঘটছে?
গাটেক থমাস 22

তাই সংক্ষেপে $not :{ $neমানে $eq, এই তুমি কি বলবে করার চেষ্টা করছিলেন কেন?
অনু



10

থেকে মোঙ্গো ডক্স :

$notঅপারেটর শুধুমাত্র অন্যান্য অপারেটরদের প্রভাবিত করে এবং স্বাধীনভাবে ক্ষেত্র এবং কাগজপত্র পরীক্ষা করতে পারছি না। সুতরাং, $notযৌক্তিক বিযুক্তির জন্য $neঅপারেটর এবং ক্ষেত্রের সামগ্রীগুলি সরাসরি পরীক্ষা করতে অপারেটরটি ব্যবহার করুন ।

যেহেতু আপনি সরাসরি ক্ষেত্রটি পরীক্ষা করছেন এটি $neএখানে সঠিকভাবে অপারেটর।

সম্পাদনা:

এমন একটি পরিস্থিতি যেখানে আপনি ব্যবহার করতে চান $not:

db.inventory.find( { price: { $not: { $gt: 1.99 } } } )

এটি সমস্ত নথি নির্বাচন করবে যেখানে:

  • মূল্য ক্ষেত্রের মানটি 1.99 বা দামের চেয়ে কম বা সমান
  • মাঠের অস্তিত্ব নেই

3

যদি nullকোনও অ্যারেতে থাকে এবং আপনি এড়াতে চান:

db.test.find({"contain" : {$ne :[] }}).pretty()

1

বাস্তব জীবনের উদাহরণ; বর্তমান ব্যবহারকারী নয়, সকলকে সন্ধান করুন:

var players = Players.find({ my_x: player.my_x,  my_y: player.my_y, userId: {$ne: Meteor.userId()} }); 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.