1
私は以下のようにPhoneNumberSchemaを含むUserSchemaを持っています。mongooseユーザーの電話番号による一括検索
var PhoneNumberSchema = new Schema({
country: {
type: String
},
country_code: {
type: Number
},
local_number: {
type: Number
}
});
ここでは、phone_numberのサンプルjson形式です。
"phone_number": {
"country": "US",
"country_code": "1",
"local_number": "04152341"
}
私がしたいことは、国番号の有無にかかわらず電話番号でユーザーを検索することです。
まあ、要求が
"phone_numbers" の場合:[ "104152341"、 "124254364"]
その後、私は正確に属する電話番号に一致したユーザーを取得したいです国番号付き/なしの電話番号配列を要求します。
私は以下のように試みましたが、 "無効な演算子 '$ in'"というエラーがありました。
User.aggregate(
[
{ "$redact": {
"$cond": [
{
"$in": [ { "$concat": [ "$phone_number.country_code", "$phone_number.local_number" ] }, req.body.phone_numbers]
},
"$$KEEP",
"$$PRUNE"
]
}}
],
function(err, users) {
// Do something
if (err) {
return res.json({ success: false, err: err });
}
res.json({ success: true, users: users });
}
)
私は自分の問題の対処方法を知りたいです。
私を助けてください!あなたの条件式として
優秀な、我々は国コードなし/で扱う必要もありますが、$ setIsSubset 2つのフィールドの連結のために良いです。 :) – BigDaddy