【发布时间】:2016-02-08 03:45:45
【问题描述】:
假设我在 Mongoose 架构上有这个数组属性('articles'):
articles: [
{
kind: 'bear',
hashtag: 'foo'
},
{
kind: 'llama',
hashtag: 'baz',
},
{
kind: 'sheep',
hashtag: 'bar',
}
]
如何使用
$addToSet https://docs.mongodb.org/manual/reference/operator/update/addToSet/
通过检查 hashtag 的值来添加到这个数组中,看看它是否是唯一的?
例如,如果我想将以下对象添加到上述数组中,我希望 Mongo 将其作为重复项“拒绝”:
{
kind: 'tortoise',
hashtag: 'foo'
}
因为 hashtag=foo 已经被占用了。
问题是我只知道如何将$addToSet 与简单的整数数组一起使用...
例如,如果文章看起来像这样:
articles: [ 1 , 5 , 4, 2]
我会像这样使用 $addToSet:
var data = {
"$addToSet": {
"articles": 9
}
}
model.update(data);
但是如何使用唯一字段是字符串(在本例中为“hashtag”)的对象数组来完成相同的操作?文档没有说明这一点,似乎我到处都搜索过..
谢谢
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query