我在userref.js中定义了一个架构
module.exports = (function userref() {
var Schema = mongoose.Schema;
var newSchema= new Schema([{
userId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
index: true
},
value: { type: Number }
}]);
var results = mongoose.model('UserRef', newSchema);
return results;
})();
我已插入一些数据,当我尝试获取某些数据时,我从mongodb控制台获取正确的值
db.getCollection('userrefs').find({'userId':ObjectId('57a48fa57429b91000e224a6')})
正确返回一些数据
现在的问题是,当我尝试通过给出objectId来获取代码中的一些数据时,我得到了空数组。在下面的函数中,userrefs作为空数组返回
//req.params.userId=57a48fa57429b91000e224a6
var UserRef = require('../userref.js');
this.getuserref = function (req, res, next) {
try {
var o_userId =mongoose.Types.ObjectId(req.params.userId);
var query = { userId: o_userId };
var projection = '_id userId value';
UserRef.find(query, projection, function (err, usrrefs) {
if (err) return next(err);
res.send(usrrefs);
console.log("userref fetched Properly");
});
} catch (err) {
console.log('Error While Fetching ' + err);
return next(err);
}
};
此外,当我调试代码时,我可以将o_userId视为objectId,其id值为某个垃圾字符
o_userId: ObjectID
_bsontype: "ObjectID"
id: "W¤¥t)¹â$¦"
答案 0 :(得分:0)
像这样添加导出
module.exports.modelname= mongoose.model('userrefs', nameofschema, 'userrefs');
var z = require('../userref.js');
var UserRef = z.modelname;
现在使用UserRef调用。
只是试试这个男人。
Model.find({ 'userId': objectidvariable}, '_id userid etc', function (err, docs) {
// docs is an array
});
从官方文档中复制的参考样本。
答案 1 :(得分:0)
试试这个:
$array1 = array ( 'productcode' => 218133, 'categoryid' => 315, 'color' => 'red' );
$array2 = array (10,220);
$array1['categoryid'] = array_merge((array)$array1['categoryid'], $array2);
print_r($array1);