node.js - 如何获取数组中具有特定值的所有文档?
问题描述
所以基本上我需要在该文档的某个数组中获取所有具有特定值的文档。我被引导相信 $in 是这种方法的正确运算符,但到目前为止,mongo 拒绝从我的代码中返回任何值。我尝试了许多不同的方法都无济于事。这是我目前正在为其运行的功能。
exports = async function(payload, response) {
response.setHeader("Content-Type","application/json");
const query = payload.query
const mongodb = await context.services.get("mongodb-atlas");
const Lobbies = await mongodb.db("Sword_Universe").collection("Lobbies");
const playerLobbies = JSON.stringify(Lobbies.find( { "players" : { $in: ["serverOptimist"] } } ))
console.log(playerLobbies);
response.setBody(playerLobbies);
};
解决方案
如果玩家列表是带有名称字段的玩家对象列表,则查询应该是
players:{$elemMatch:{name:"serverOptimist"}}
编辑:因为它只是通过单个字段搜索,所以可以缩短
"players.name":"serverOptimist"
如果它是玩家姓名的字符串数组,那么这应该可以工作:
"players":"serverOptimist"
推荐阅读
- swift - SwiftUI:更新由其他 @State 变量组成的 @Binding 变量的最佳方式
- python - 如何按数字顺序(file1.xls、file2.xls等)将多个excel文件编译成一个python文件?
- rabbitmq - 我如何知道 RabbitMQ 中何时使用了一批消息?
- excel - 针对复制的数据设置整列的值
- python - 如何重新采样每个组的边界数据?
- c# - ChoCSVReader 不考虑某些配置
- twilio - 使用 Twilio Java Helper Library 发送 Twilio API 请求时响应时间过长
- npm - Laravel Mix:运行 npm 生产时错误的 css 属性
- kubernetes - kibana 7.2 无法在 kubernetes 上访问 elasticsearch
- javascript - 如何从 airhob api 获取数据?我的请求是给我一个 401