我在我的 Node.js 应用程序中使用和尚与 MongoDB 进行通信。有没有办法在和尚驱动程序中使用$slice修饰符。
我要运行的查询是
db.messages.find(
{"_id" : ObjectId("557c46191e7aef1b02d5db73")},
{ msgs: { $slice: -2 } }
);
我在我的 Node.js 应用程序中使用和尚与 MongoDB 进行通信。有没有办法在和尚驱动程序中使用$slice修饰符。
我要运行的查询是
db.messages.find(
{"_id" : ObjectId("557c46191e7aef1b02d5db73")},
{ msgs: { $slice: -2 } }
);
Monk的方法签名中不支持“投影”或附加参数对象.find()
。为了使用“真正的原生”功能,有一个.col
访问器允许您使用原生驱动程序集合对象:
var db = require('monk')('localhost/test');
var messages = db.get('messages');
messages.col.find({}, { "msgs": { "$slice": -2 } }).toArray(
function(err,docs) {
if (err) throw err;
console.log( JSON.stringify( docs, undefined, 2 ) );
}
);
另请注意,由于这是本机驱动程序,您需要调用诸如.toArray()
或其他方法来处理Cursor
返回的对象。该.toArray()
元素类似于Monk
默认情况下执行的操作。