【问题标题】:$addToSet with create [Mongoose]$addToSet 与 create [Mongoose]
【发布时间】:2016-11-28 04:27:13
【问题描述】:

我需要这样做:

Code.create({
            childCode: {"$addtToSet": code.child},
            parentCode: code.parent
        }

但这不起作用,有什么解决办法吗?

我需要在 childCode 中添加唯一的 ObjectId...

【问题讨论】:

  • addtToSet vs addToSet 是错字吗?
  • 什么是差异?
  • 添加后的额外't'
  • 当我删除 t 它仍然是相同的结果...

标签: node.js mongodb express mongoose


【解决方案1】:

$addToSet 只能与 update() 和 findAndModify() 一起使用。你试图做的事情是不可能的。

$addToSet 运算符将一个值添加到数组中,除非该值已经存在,在这种情况下,$addToSet 不会对该数组执行任何操作。

不能将它与 create 一起使用的原因是因为文档实际上不存在于 mongoDB 中,并且 $addToSet 不知道它需要操作的任何数组字段。

如果您的目标是消除重复的 code.child,那么您可能需要在 node.js 代码中限制它。

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 2013-06-26
    • 2021-07-31
    • 2013-08-26
    • 2015-03-08
    • 2015-04-29
    • 1970-01-01
    • 2021-11-04
    相关资源
    最近更新 更多