我在用node.js和Mongo.db(我刚上Mongo).我有这样一份文件:
Tag : {
name: string,
videoIDs: array
}
其思想是,服务器接收类似JSON的
JSON: {
name: "sport",
videoId: "34f54e34c"
}
有了这个JSON,它必须找到同名的标记,并判断数组中是否有videoId
,如果没有,则将其插入array.
如何判断数组并附加数据?
我在用node.js和Mongo.db(我刚上Mongo).我有这样一份文件:
Tag : {
name: string,
videoIDs: array
}
其思想是,服务器接收类似JSON的
JSON: {
name: "sport",
videoId: "34f54e34c"
}
有了这个JSON,它必须找到同名的标记,并判断数组中是否有videoId
,如果没有,则将其插入array.
如何判断数组并附加数据?
在将元素追加到数组中之前,可以使用$addToSet
运算符判断是否存在.
db.tags.update(
{name: 'sport'},
{$addToSet: { videoIDs: "34f54e34c" } }
);
在这个update语句示例中,mongoDB将找到与name == sport
匹配的标记文档,然后判断videoIDs
数组是否包含34f54e34c
.如果不是,则将其附加到数组中.
$addToSet
的详细用法请阅读here.