【问题标题】:How to select random document from collection using mongoose如何使用猫鼬从集合中选择随机文档
【发布时间】:2017-04-28 12:20:59
【问题描述】:

我有一个案例,我需要使用 mongoose 从集合中只选择一个文档

在 mongo shell 中我们将其用作

db.user.find().limit(1)

{
"_id": "56fc22f625311b661becefb5",
“activities”: [...],
"lastName": “patrick”,
"firstName": "John”,
"city": “Chennai”,
"state": “TAMILNADU”,
"rollnumber": "123456789"
}

如何使用 mongoose,我只需要选择特定字段,例如角色编号,不要说明所有字段

我试过了

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/connector', function(err){
if(err) throw err
});
var Schema = mongoose.Schema;
var userSchema = new Schema({rollnumber : Number});
module.exports = mongoose.model('user', userSchema,'user');
var a = user.find().limit(1);
return a;

【问题讨论】:

标签: node.js mongodb mongoose


【解决方案1】:

正如猫鼬文档所说 (http://mongoosejs.com/docs/queries.html):

任何涉及指定查询条件的模型方法都可以 两种执行方式:
当回调函数:
- 被传递,操作将立即执行,并将结果传递给回调。
- 不传递,返回一个 Query 的实例,它提供了一个特殊的查询构建器接口。

所以我建议你尝试这样的事情,使用 callback 函数:

let user = mongoose.model('user', userSchema);
module.exports = user;    

user.find({}, 'rolenumber state')
    .limit(1)
    .exec((err, a) => {
        if (err) console.log(err);
        return a;
    });

不确定您问题的随机方面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 2017-08-21
    • 2019-05-22
    • 2013-03-28
    • 1970-01-01
    • 2021-10-17
    相关资源
    最近更新 更多