{
{
field: 'estimatedTime',
operator: '<='
value: '50'
},
{
field: 'message',
operator: 'contains'
value: 'meow'
},
...
}
のようないくつかのフィルタ条件に含まれているJSONを持って、私は正しくクエリ
{ '$ elemMatch' でそれを翻訳:{ 'estimatedTime':{ '$ {'$ regex': 'meow'}}}
ネストされた配列を持つJSONでクエリを実行する必要があるため、elemMatchを使用しています。その配列フィールドを 'プロパティ'と呼ぶことにしましょう。 MongoDBでクエリを起動しても問題ありません。プリント全く何も:私はにconsole.log(+人物 "トピック")のNode.js
にusers_with_filters.forEach(function(value) {
console.log(res.id);
var criteria = {};
criteria['$elemMatch'] = JSON.parse(value.filter[0].filter).criteria;
console.log(criteria);
Topic.find({'_id': new ObjectId('599ea4b7b924bf16409c67cc'), 'properties': criteria}, function (err, person) {
if (err) {
console.log(err);
//return res.send(err);
}
console.log("Topic: " + person)
});
})
をクエリを使用する場合
問題があります。
私は次のようにクエリをハードコーディングするかの間:
Topic.find({'_id': new ObjectId('599ea4b7b924bf16409c67cc'), 'properties': {'$elemMatch': { 'estimatedTime': {'$lte': 50}, 'message': {'$regex': 'meow'}}}}, function (err, person) ...
はconsole.log( "トピック:" +人)私が探しています何プリント。
私は間違っていますか?ありがとう。
提案された解決策は機能しません。 – JackLametta
console.log(基準)を印刷するときに得られるもの。私のアプローチで –