Mongodb 检查mongo文档数组中是否存在值
我有一个项目集合,其中我有一个数组,存储访问项目URL的所有客户端的IP地址Mongodb 检查mongo文档数组中是否存在值,mongodb,mongodb-query,Mongodb,Mongodb Query,我有一个项目集合,其中我有一个数组,存储访问项目URL的所有客户端的IP地址 { “标题”:“asdads”, “艺术家”:“adsdd”, “说明”:“adas”, “类别”:“单张音乐”, “价格”:15, “发布”:没错, “下载URL”:“https1f5c69ce0c9eb1bc5032362d853d”, “s3key”:“EE33E7320B8A4FE881FC569CE0C9EB1BC5032362D853D”, “用户ID”:“LnsYqhsefu7ZmQmTq”, “视图”:
{
“标题”:“asdads”,
“艺术家”:“adsdd”,
“说明”:“adas”,
“类别”:“单张音乐”,
“价格”:15,
“发布”:没错,
“下载URL”:“https1f5c69ce0c9eb1bc5032362d853d”,
“s3key”:“EE33E7320B8A4FE881FC569CE0C9EB1BC5032362D853D”,
“用户ID”:“LnsYqhsefu7ZmQmTq”,
“视图”:0,
“下载”:1,
“喜欢”:0,
“不喜欢”:0,
“createdAt”:ISODate(“2015-02-21T17:17:40.491Z”),
_id:“GM8M37EWTfZ2Jwatu”
“IPs:[
"0.0.0.0"
]
}
我想知道给定项文档的数组中是否有ip地址,如果没有,则添加它,否则返回true
什么是最好、最有效的方法?您可以使用运算符来执行此操作。
要检查数组是否已包含给定值,只需使用nModified
db.collection.update({u id:“GM8M37EWTfZ2Jwatu”},
{$addToSet:{IPs:“98.245.153.111”}
).n修改
输出
1
您能给我们看一下您的文档吗?请更清楚地更新示例文档。是的,但我还想返回一个布尔值,返回数组中是否已经存在IP