使用Meteor更新Mongodb中数组中的值会产生错误403

时间:2017-07-25 17:35:55

标签: mongodb meteor

我希望你能帮助我解决我的这个问题。如果我没有正确表达我想要的内容,请原谅我。

我有一个包含对象的数组的Mongodb集合,我需要更改其中一个对象变量的值。我在Mongodb中找到了正确的答案但是在Meteor中使用它时会抱怨只能通过_id进行更新

我的收藏是这样的

{
  _id: 'akjsdakudsh',
  subs: [
    {
      name: 'name1',
      seen: false,
    },
    {
      name: 'name2',
      seen: false,
    }
  ]
},
{
  _id: 'ako0iqwjeqasdf',
  subs: [
    {
      name: 'name1',
      seen: false,
    },
    {
      name: 'Fantastic',
      seen: true,
    }
  ]
}

因此,如果我想将seen更改为true,我将在Mongodb中将name2更改为db.coll.update( { _id : 'akjsdakudsh', 'subs.name': 'name2' }, { $set: { 'subs.$.seen': true } } );

403

这就像一个魅力。尝试在Meteor中执行此操作时会出现问题,因为它会引发错误Not permitted. Untrusted code may only update documents by ID _id

我明白问题是什么,但我没有from concurrent.futures._base import as_completed from concurrent.futures.thread import ThreadPoolExecutor WORK_FINISHED = False def piBoard(): while not WORK_FINISHED: # Do some stuff # Drink some coffee def myFunction(): time.sleep(5) global WORK_FINISHED WORK_FINISHED = True #update gobal status flag return something if __name__ == '__main__': futures = [] MAX_WORKERS = 5 #max number of threads you want to create with ThreadPoolExecutor(MAX_WORKERS) as executor: executor.submit(piBoard) # submit your function to worker thread futures.append(executor.submit(myFunction)) # if you need to get return value from `myFunction` for fut in as_completed(futures): res = fut.result() 数组的元素,而且我不需要其它任何东西。

关于我做错了什么或者解决我的问题的一些整洁的解决方法的任何想法?任何帮助将不胜感激,谢谢。

0 个答案:

没有答案