Node.js 如何使用mongoosejs进行findAll?
这是我的链接模式:Node.js 如何使用mongoosejs进行findAll?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这是我的链接模式: var LinkSchema = new Schema({ user: ObjectId, text: { type: String, validate: [required,"Text is required"], index: {unique: true} }, body: { type: String, validate: [required, 'Body is requir
var LinkSchema = new Schema({
user: ObjectId,
text: {
type: String,
validate: [required,"Text is required"],
index: {unique: true}
},
body: {
type: String,
validate: [required, 'Body is required'],
index: { unique: true }
},
createdAt: {
type: Date,
'default': Date.now
}
});
这是我的getLink:
LinkSchema.statics.getLink = function(apiKey,fn){
var query = link.find('link.user.apiKey': apiKey);
query.exec(function (err, links) {
if (err) return handleError(err);
res.send(items);
});
}
错误:
Unexpected Token':' -> var query = link.find('link.user.apiKey': apiKey);
我想我对猫鼬的发现是错的。如何修复此问题?您只需执行以下操作:
var Link = db.model('Link', LinkSchema);
Link.find({}, function(err, results) {
// res.send(results); for example.
});
find函数的第一个参数是查询。例如,如果要搜索所有链接,且body
等于blablabla
:
Link.find({body: 'blablabla'}, function(err, results) {
// res.send(results); for example.
});
但这不会检索到带有特定apiKey的所有链接。我在您的架构中的任何位置都看不到
link.user.apiKey
,但您正在对其进行筛选。你能详细说明你想做什么吗?