jsonデータを次の形式で送信すると、サーバーはmongodbのアイテムドキュメントを調べ、同じuserIdとまったく同じjsonデータを持つデータを返すコードを書き込もうとしますitemTagで受信しました。Mongooseクエリ:オブジェクト配列の検索方法
var subSchema = mongoose.Schema({
main:Number,
sub:Number,
color:Number
},{ _id : false });
var ItemSchema = new Schema({
userId:String,
date:String,
itemTag: [subSchema]
}, { versionKey: false });
DBデータ:
{
"_id" : ObjectId("58ba81eea341c37ed7268703"),
"date" : "20170304_175923",
"userId" : "aaa",
"itemTag" : [
{
"main" : 3,
"sub" : 7,
"color" : 1
}, {
"main" : 3,
"sub" : 1,
"color" : 11
}, {
"main" : 4,
"sub" : 4,
"color" : 1
}, {
"main" : 5,
"sub" : 2,
"color" : 1
}
]
},
{
"_id" : ObjectId("58ba81eea341c37ed7268723"),
"date" : "20170305_125923",
"userId" : "aaa",
"itemTag" : [
{
"main" : 3,
"sub" : 7,
"color" : 1
}, {
"main" : 2,
"sub" : 2,
"color" : 2
}
]
}
**とクライアントのJSONデータを送信します** サーバー req.bodyを取得
私はこのスキーマを持っています.userId req.body.itemTag
{
"userId":"aaa",
"itemTag":[{
"main":3,
"sub":7,
"color":1
},{
"main":4,
"sub":4,
"color":1
}]
}
と私が取得したい:
{
"_id" : ObjectId("58ba81eea341c37ed7268703"),
"date" : "20170304_175923",
"userId" : "aaa",
"itemTag" : [
{
"main" : 3,
"sub" : 7,
"color" : 1
}, {
"main" : 3,
"sub" : 1,
"color" : 11
}, {
"main" : 4,
"sub" : 4,
"color" : 1
}, {
"main" : 5,
"sub" : 2,
"color" : 1
}
]
}
私はあなたが達成したいことを理解していませんでした、あなたは再び説明できますか? –
次のitemTag配列と同じ値をdb内で探したいと思います。 { "ItemTag":[{ "メイン":3、 "サブ":7、 "カラー":1 }、{ "メイン":3、 "サブ":1、 「カラー":11 } } – greatsk