zhu jun~ 2016-12-19 05:00 采纳率: 100%
浏览 1770
已结题

Mongodb中"$"的的含义是什么,示例如下:

文档的结构如下:
{
"_id" : ObjectId("57302832d4c6025e3e44b1bc"),
"_class" : "com.sumridge.smart.entity.CompanyInfo",
"accountInfos" : [
{
"_class" : "com.sumridge.smart.entity.AccountInfo",
"_id" : ObjectId("57302848d4c6025e3e44b1be"),
"portfolios" : [
{
"title" : "test1",
"list" : [
{
"_class" : "com.sumridge.smart.entity.PortfolioInfo",
"cusip" : "001",
"quantity" : 100,
"price" : 9.5
}
]
}]
}
]
}
我现在要向accountInfos数组下匹配到的accountInfo对象的portfolios的属性中增加一个文档,这里portfolios也是一个数组。
我的代码如下:
db.companyInfo.update(
{"accountInfos._id":ObjectId("57302848d4c6025e3e44b1be")},
{$addToSet:
{
"accountInfos.$.portfolios":
{
title:"test_11",
list:{cusip:"001",quantity:1,price:1}
}
}
}
)
这样我就能对子文档中的数组进行插入操作,我想问的问题就是accountInfos.$.portfolios中的$的含义和作用是什么。

  • 写回答

2条回答 默认 最新

  • oyljerry 2016-12-19 06:07
    关注

    The positional $ operator identifies an element in an array to update without explicitly specifying the position of the element in the array. To project, or return, an array element from a read operation, see the $ projection operator.

    The positional $ operator has the form:

    { ".$" : value }
    When used with update operations, e.g. db.collection.update() and db.collection.findAndModify(),

    the positional $ operator acts as a placeholder for the first element that matches the query document, and
    the array field must appear as part of the query document.

    评论

报告相同问题?

悬赏问题

  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能