Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过逻辑查询将mongodb上的数据导入node.js?_Node.js_Mongodb_Mongoose - Fatal编程技术网

如何通过逻辑查询将mongodb上的数据导入node.js?

如何通过逻辑查询将mongodb上的数据导入node.js?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我想在mongodb上获取聊天记录。所以我需要在mongodb中使用逻辑查询。 我有一个message对象。message必须是、发件人和message。 例如在mongodb中: -->收件人:A发件人:B消息:blabla -->收件人:B发件人:A信息:blahblah -->收件人:C发件人:A信息:haha 我只需要A和B之间的语音限制最后20次。如何在node.js中实现这一点? 我的代码: 对我来说,需要{(To=toName和sender=senderName)或(To=send

我想在mongodb上获取聊天记录。所以我需要在mongodb中使用逻辑查询。
我有一个message对象。message必须是、发件人和message。

例如在mongodb中:

-->收件人:A发件人:B消息:blabla
-->收件人:B发件人:A信息:blahblah
-->收件人:C发件人:A信息:haha

我只需要A和B之间的语音限制最后20次。如何在node.js中实现这一点?

我的代码:

对我来说,需要
{(To=toName和sender=senderName)或(To=senderName和sender=toName)}。最后(20)
这个逻辑。但我如何在mongodb中实现这一点呢。
我需要在A和B之间的最后20分钟进行演讲。

看来你们很接近了,只要稍微整理一下就可以了:

db.collection('test').find({$or: [
    {"to": to, "sender": sender},
    {"to": sender, "sender": to}
]}).limit(20).toArray(function(err, messages) {
    console.log(messages);
});

同一查询对象中的字段之间有一个隐式的
$和

对不起,复制粘贴问题。我写了脏代码,所以我还没有尝试。如果你理解这个逻辑,你能在这里完整地编写“find()”代码吗?
db.collection('test').find({$or: [
    {"to": to, "sender": sender},
    {"to": sender, "sender": to}
]}).limit(20).toArray(function(err, messages) {
    console.log(messages);
});