mongodb - 点和美元符号的mongodb含义
问题描述
我正在调试一个使用 flask_pymongo 的代码
我看到了这段代码
dabb = mongo.db.tbl.find({
"transactions": {'$elemMatch': {"from":{'$elemMatch':{"from":str(to)}},"to":{'$elemMatch':{"to":str(frm)}}}}
},{"transactions.$": 1 })
我不明白 {"transactions.$": 1 } 是做什么的。
解决方案
位置 $ 运算符标识要更新的数组中的元素,而无需显式指定该元素在数组中的位置。
它限制数组的内容返回:
- 与数组上的查询条件匹配的第一个元素。
- 如果没有为数组指定查询条件,则为第一个元素(从 MongoDB 4.4 开始)。
dabb = mongo.db.tbl.find({
"transactions": {
'$elemMatch': {
"from":{
'$elemMatch':{ "from":str(to) }
},
"to": {
'$elemMatch':{"to":str(frm)}
}
}
} // Only apply for first element then meet query condition within an array
}, // when a element meet the query condition
{"transactions.$": 1 }) // it will only return that element from array
在获得满足查询条件的转换数组中的第一个元素后,它将返回该元素。请参阅包含大量示例的文档
在您的情况下,此链接更合适:
推荐阅读
- python - Python:使用 Selenium 的 xpaths 中的正则表达式
- actionscript-3 - AS3:ScrollRect 不从两点移动而不跳帧内容
- amazon-web-services - Istio 服务网格设置中的 gRPC GOAWAY 错误
- python - 使用变量名重命名 SQLite 中的表
- python - 如何在使用 google colab 时修复“RuntimeError:无法打开 shape_predictor_68_face_landmarks.dat”?
- java - 如何去掉方法的入参类<T>,每次调用都会方便
- php - html ajax post方法返回空值
- python - 在 python 中的两个 df 中通过 2 列匹配编辑一个数据框
- reactjs - 打开注册模式后页面布局发生变化
- javascript - 使用 Next.JS 将 CSS 类名传递给组件