簡體   English   中英

檢查mongodb數組中是否存在值

[英]Check if value exists in a mongodb array

如何檢查當前的Meteor.user()._id存在於"favoritedBy"數組中?

如果為true,則打印"Your favorite" ;如果為false,則打印"Not your favorite"

MongoDB中的文檔:

{
  "_id" : "W5WwAZatorDEb6DNP",
  "createdBy" : "aTmb64zNGSyeDYFJZ",
  "favoritedBy" : [ 
      "X594baqWYZiJqA3Qg",
      "fgk234m2dkD229d12"
  ]
}

假設Meteor.user()._id返回X594baqWYZiJqA3Qg

我該如何做對/錯檢查?

我嘗試了以下方法:

isFavorite: function() {
    var user = Meteor.user()._id;
    return Posts.find({favoritedBy: user});
 }

在模板中:

{{#if isFavorite}}
    Your favorite
{{else}}
    Not your favorite
{{/if}}

但是它似乎不起作用,因為即使當前的Meteor用戶ID不在數組中,它也始終返回"Your favorite"

有任何想法嗎?

您可以使用

isFavorite: function() {
    var user = Meteor.user()._id;
    return Posts.find({favoritedBy: user}).count() > 0 ? true : false;
 }

count()將返回與find()查詢匹配的文檔計數,然后檢查其是否> 0 ,並使用ternary operator ,如果是,則返回true ,否則返回false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM