假设存在一个数据结构,其中包含以下对象
{
name : 'ernie',
likes : [
{
what : 'rubber duckie',
howmuch : 5
},
{
what : 'bert',
howmuch : 3
}]
}和
{
name : 'cookie monster',
likes : [
{
what : 'cookies',
howmuch : 100
}]
}如果ernie的likes-array的likes-array的howmuch-value应该增加1,那么是否有MongoDB命令来完成这个任务呢?JavaScript-等效于ernie.likes[0].howmuch++。
具体来说,可以通过索引号访问数组的元素。
发布于 2015-09-18 08:10:56
若要将howmuch字段值增加到ernie's‘s-数组的0th元素中的1,请使用$inc运算符和点符号通过基于零的索引位置访问数组的元素:
db.collection.update(
{
"name": "ernie"
},
{
"$inc" : { "likes.0.howmuch" : 1 }
}
)发布于 2015-09-18 08:01:23
要在数组上创建索引吗?如果是,则必须在“喜欢”数组上创建索引。使用以下代码:db.sample.createIndex ({likes : 1})。或者更具体地说,您必须创建db.sample.createIndex ({'likes.howmuch': 1})
创建索引后,可以使用索引访问数组元素。
https://stackoverflow.com/questions/32646613
复制相似问题