db.collection('sn-talks-likes').where({count: new RegExp("^\d*[13579]$")}).get(); // 查询 count 字段为奇数的记录
![南方有只沙雕](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/001/31/19/22_avatar_mid.jpg?v=0)
南方有只沙雕
- 发布:2022-01-28 16:25
- 更新:2022-02-07 11:00
- 阅读:456
产品分类: uniCloud/App
示例代码:
操作步骤:
//数据库数据
{
"talk_id": "61f3a33f4690ae0001d7c961",
"talk_user_id": "61ebc7f7f2f4d200014f16f0",
"user_id": "61ebc7f7f2f4d200014f16f0",
"count": 1,
"like_date": 1643357007722,
"last_like_date": 1643357007722,
"like_ip": "117.136.40.22"
}
//查询语句 这里应该是要能查到一条数据的
db.collection('sn-talks-likes').where({count: new RegExp("^\d*[13579]$")}).get(); // 查询 count 字段为奇数的记录
//数据库数据
{
"talk_id": "61f3a33f4690ae0001d7c961",
"talk_user_id": "61ebc7f7f2f4d200014f16f0",
"user_id": "61ebc7f7f2f4d200014f16f0",
"count": 1,
"like_date": 1643357007722,
"last_like_date": 1643357007722,
"like_ip": "117.136.40.22"
}
//查询语句 这里应该是要能查到一条数据的
db.collection('sn-talks-likes').where({count: new RegExp("^\d*[13579]$")}).get(); // 查询 count 字段为奇数的记录
预期结果:
把 count 字段改成字符串类型就能查询到 但是这里的 count 字段要用到自增 所以就是说 能不能不改类型的情况下匹配到上面这条数据 不知道是不是 bug
把 count 字段改成字符串类型就能查询到 但是这里的 count 字段要用到自增 所以就是说 能不能不改类型的情况下匹配到上面这条数据 不知道是不是 bug
实际结果:
查不到
查不到
南方有只沙雕 (作者)
这样子啊 对于我上面的需求 有什么建议吗 ?
2022-02-08 22:11
DCloud_uniCloud_WYQ
回复 南方有只沙雕: https://uniapp.dcloud.net.cn/uniCloud/cf-database?id=mod-1
2022-02-09 11:21
南方有只沙雕 (作者)
回复 DCloud_uniCloud_WYQ: 可以 感谢
2022-02-10 10:24
南方有只沙雕 (作者)
回复 DCloud_uniCloud_WYQ:
db.collection('sn-talks-likes')
.aggregate()
.match({
// count: db.command.aggregate.mod([2, 0])
count: db.command.aggregate.mod(['$count', 2]) == 1
})
.end()
我这样写不行 文档写的不是很清楚 可以提供一下查询奇数的代码片段吗?
2022-02-10 11:52
DCloud_uniCloud_WYQ
回复 南方有只沙雕:
2022-02-10 17:34
南方有只沙雕 (作者)
回复 DCloud_uniCloud_WYQ: 谢谢谢谢 可以啦
2022-02-10 18:22