我正在使用sailsjs mongodb和node.js
我在mongodb查询中出现错误以获取错误请帮忙!
我希望获得与 $ all完全匹配的消息的结果:[senderID,sendToID]
这是mongodb中的文档“消息”。
{ "users": [ "52ed09e1d015533c124015d5", "52ed4bc75ece1fb013fed7f5" ], "user_msgs": [], "createdAt": ISODate("2014-02-04T11:59:53.220Z"), "updatedAt": ISODate("2014-02-04T11:59:53.220Z"), "_id": ObjectID("52f0d639b922c9142763c336") }
现在我想查询
Message.find({ users : { $all: [ msg.sender , msg.sendTo ] } }) .done(function (err, detail) { if (err) { console.log(err) } else { console.log( detail)} });
返回错误
{[MongoError:$all requires array] name:'MongoError'}
我正在关注文档 http://docs.mongodb.org/manual/reference/operator/query/all/ 但仍然不知道是什么原因引起的问题
答案 0 :(得分:1)
在Waterline中,目前没有办法查询嵌入式记录。您可以在sails-mongo中下载到本机mongo驱动程序并运行查询。以下内容应该为您提供所需的信息。
User.native(function(err, collection) {
collection.find({ users: {
$all: [ "52ed09e1d015533c124015d5", "52ed4bc75ece1fb013fed7f5" ]
}}).toArray(function(err, docs) {
// Do something here
});
});