具有指定相同运算符的多个表达式的 mongo 查询



您好,我正在尝试在我的数据库中执行以下查询

function getChat(nameChat, nameUser, callback) {
global.db.collection('chatUsers').find({ 
$and: [ 
{ $or : [ { nameChat: nameChat }, { nameChat: nameUser } ] },
{ $or : [ { nameUser: nameChat }, { nameUser: nameUser } ] }
]
}).sort({date: 1}).toArray(
function (err, docs) {
if (err) return console.log("algo deu errado" + err);
console.log("exitn"+docs+nameUser);
callback(docs);
}
);}

但查询返回空 以下是我在聊天用户集合中的对象示例:

{"_id":"5bc3e6d060d4da04dcd66517","nameChat":"Daciolo bolsominion","nameUser":"Mc Xhamps","date":"2018-10-14T17:22:00.000Z","msg":"Você pertence a URSAL"}
{"_id":"5bc52fc3b878631f84c77c41","nameChat":"Mc Xhamps","nameUser":"Daciolo bolsominion","date":"2018-10-01T17:25:00.000Z","msg":"E ai, bora ser Presidente"}

需要明确的是,我希望我的查询返回命名为聊天或名称用户的所有对象都存在于同一对象中 此查询仅返回空对象。

嘿埃里克更改和与,否则您将获得所需的结果。

global.db.collection('chatUsers').find({ 
$or: [ 
{ $or : [ { nameChat: nameChat }, { nameChat: nameUser } ] },
{ $or : [ { nameUser: nameChat }, { nameUser: nameUser } ] }
]
}).sort({date: 1})

最新更新