node.js - MongoDb 查询未按预期运行
问题描述
我的查询不起作用。我不知道为什么。
我想在返回时收到消息,以便在同一对话中添加更多消息。
我对所有这些东西都是新手,mongoDb 和节点。
询问
const query = {
$and: [
{ member1: { $in: [conversation.sender, conversation.receiver] } },
{ member2: { $in: [conversation.sender, conversation.receiver] } }
],
};
const response = await Conversation.distinct('timestamps', query).exec();
这是我试图在此查询中查找的数据库对象,结果为空且未显示任何错误。
数据库:
{
"members": [{
"member1": "5e87f879ac23bb2018be0e73",
"member2": "5e87e6144da131247407194f",
"_id": {
"$oid": "5e88112190e6de5e4826d758"
}
}],
"messages": [{
"sender": "5e87f879ac23bb2018be0e73",
"receiver": "5e87e6144da131247407194f",
"_id": {
"$oid": "5e88112190e6de5e4826d75a"
},
"message": "Cria vergonha",
"messageAddAt": {
"$date": {
"$numberLong": "1585975585995"
}
}
}, {
"sender": "5e87e6144da131247407194f",
"receiver": "5e87f879ac23bb2018be0e73",
"_id": {
"$oid": "5e88112190e6de5e4826d759"
},
"message": "Cria vergonha",
"messageAddAt": {
"$date": {
"$numberLong": "1585975585996"
}
}
}],
"createdAt": {
"$date": {
"$numberLong": "1585975586070"
}
},
"updatedAt": {
"$date": {
"$numberLong": "1585975586070"
}
},
"__v": {
"$numberInt": "0"
}
}
我已经在 Robo 3T 中对其进行了测试,并且可以正常工作!
db.conversations.find(
{$and: [
{ "members.member1": { $in: ['5e87e6144da131247407194f', '5e87f879ac23bb2018be0e73'] } },
{ "members.member2": { $in: ['5e87e6144da131247407194f', '5e87f879ac23bb2018be0e73'] } }
]})
但是在 node.js 中,它没有带来任何结果。
解决方案
推荐阅读
- javascript - 升级 reactJS 后出现非法访问错误
- typescript - 为什么带有联合(字符串|数字)的TypeScript通用约束给出错误
- r - 如何从字符串中获取日期信息,然后通过测试按主题捕获最早的结果
- authentication - Google Chrome 扩展程序中的 Spotify 身份验证问题
- python - 有没有办法在 DataFrame 上插入/添加 NaN 行和列?
- angular - 测试 Jasmine 中的 HTML 元素
- reactjs - 我的减速器不断覆盖该值
- java - Grails Groovy 配置 Log4j
- gitlab - 在 gitlab runner 上共享 docker 容器内的卷
- javascript - 为什么我的画布在将 html 转换为 DOM 调用时会自行缩放?