我正在使用node.js和Mongo.db(我是Mongo上的新人).我有一个这样的文件:
Tag : {
name: string,
videoIDs: array
}
Run Code Online (Sandbox Code Playgroud)
这个想法是,服务器收到类似的JSON
JSON: {
name: "sport",
videoId: "34f54e34c"
}
Run Code Online (Sandbox Code Playgroud)
使用此JSON,它必须找到具有相同名称的标记,并检查它是否具有数组videoId
,如果没有,则将其插入到数组中.
如何检查数组并附加数据?
yel*_*owB 76
$addToSet
在将元素追加到数组之前,您可以使用运算符来检查是否存在.
db.tags.update(
{name: 'sport'},
{$addToSet: { videoIDs: "34f54e34c" } }
);
Run Code Online (Sandbox Code Playgroud)
在此更新语句示例中,mongoDB将找到匹配的TAG文档name == sport
,然后检查该videoIDs
数组是否包含34f54e34c
.如果没有,请将其附加到数组中.
详细用法$addToSet
请在这里阅读.
小智 7
$addToSet
运算符检查文档中是否存在空数组或现有数组。
db.col_name.update({name :"name_for_match"},{$addToSet : { videoId : "video_id_value"}})
Run Code Online (Sandbox Code Playgroud)
我没有测试过,但您可以尝试以下操作:
yourDb.find({ name: "sport",
videoIDs: { $in: ["34f54e34c"] } })
.update({$addToSet: { videoIDs: "34f54e34c" }});
Run Code Online (Sandbox Code Playgroud)
如果你需要如何:在 nodeJs 实现中的 MongoDb,你可以从:
归档时间: |
|
查看次数: |
23069 次 |
最近记录: |