我有一个收藏,存储一些产品的文档。在文档中,有一个数组evaluation
来存储用户对产品的价格评估对象。
下面是一个用户对象的示例:
var data = {user_id:90,price:400}
{
"_id": 54b13f52604fc5d242d4aa68,
"__v": NumberInt(0),
"evaluation": [
{
"price": NumberInt(14616),
"user_id": NumberInt(91),
"_id": ObjectId("54b13f5e604fc5d242d4aa6b") // Why is it added?
},
{
"price": NumberInt(16211),
"user_id": NumberInt(92),
"_id": ObjectId("54b140d1604fc5d242d4aa74") //
}
],
"product": [
{
"title": "ABC",
"model_id": "382",
"id": "513",
"category": "1",
"src": "xxx.jpg"
}
],
"timestamp":ISODate("2015-01-10T15:03:46.310Z")
}
var evaluation = new mongoose.Schema({
product:[],
timestamp : { type : Date, default: Date.now },
evaluation:[{user_id:Number,price:Number}],
},{strict:false});
var models = {
Eva:mongoose.model('Evaluation',evaluation)
};
app.js
var mongo_models = require('./db/mongo_model')(mongoose);
Eva = mongo_models.Eva;
io.on('connection', function(socket){
socket.on("evaluation",function(d){
var data = {user_id:user_id,price:d.price};
Eva.update({_id:d.tid},{$addToSet:{evaluation:data}}).exec();
})
})
通过声明元素的内联架构并禁用_id
,可以防止Mongoose向Evaluation
数组元素添加_id
字段:
var evaluation = new mongoose.Schema({
product:[],
timestamp : { type : Date, default: Date.now },
evaluation:[Schema({user_id:Number,price:Number}, {_id: false})],
},{strict:false});
假设我在Mongoose模式上有这个数组属性(“articles”): 我如何使用 $addToSethttps://docs.mongodb.org/manual/reference/operator/update/addToSet/ 要通过检查hashtag的值来添加到此数组,以查看它是否唯一? 例如,如果我想将以下对象添加到上述数组中,我希望Mongo将其作为副本“拒绝”: 因为hashta
问题内容: 说我在猫鼬模式上有这个数组属性(“文章”): 我该怎么用 $ addToSet https://docs.mongodb.org/manual/reference/operator/update/addToSet/ 通过检查主题标签的值以查看其是否唯一来添加到此数组? 例如,如果我要将以下对象添加到上述数组中,则希望Mongo将其“重复”删除: 因为hashtag = foo已经被使用
在使用Mongoose查询数组时,我很难得到我期望看到的内容。一个用户可以有许多与他/她的帐户相关联的房间。room对象存储在集合中附加到用户的数组中。只有一个集合叫做Users。 请考虑以下user和Room的两个架构: 我还应该指出,数据库是填充的,因为我可以看到RoboMongo中的数组(在创建用户帐户时创建了1个元素)。 正在填充从控制台输出到show database的示例数据(包括us
我是mongoDB新手,在使用Mongoose从mongoDB中的数组中删除团队对象时遇到困难。我的用户收藏看起来像; 我的移除路线看起来像; 控制台在用户之前和之后记录日志。更新是完全相同的,我没有得到任何错误抛出。控制台的输出。日志(错误、数据)最终被删除 我不知道该怎么解释。我也尝试过不按这里的建议传入userID;https://stackoverflow.com/a/24289161/5
我正在使用mongoose将一个玩家推入mongoose中的玩家数组,当一个玩家加入游戏时。我收到以下错误:
如何在两个属性之后对对象数组进行分组?在以下情况下是否可以使用减少? 例如:按国家和城市将以下数组分组,并对“年龄”属性求和: /*预期结果:*/